python类

python函数,类,方法(虫师《selenium3自动化测试实战--基于Python语言笔记4》)

我与影子孤独终老i 提交于 2019-11-28 18:08:26
1.函数 # 定义函数: def add(a=1, b=2): # a=1, b=2为默认参数,不设值时按默认参数计算 return a + b # 调用函数: c1 = add() c2 = add(3, 5) print(c1) print(c2) 2.类和 方法 类与方法 # 定义类 class Myclass(object): # 类下面定义方法,与函数的区别时,第一个参数必须声明,一般用self,调用时不需要设置self的数值 def say_hello(self, name): return "hello, " + name # 调用类 mc = Myclass() print(mc.say_hello("kite")) 初始化方法 # 创建类时先声明初始化方法__init__() class A: # 初始化声明 def __init__(self, a, b): self.a = int(a) self.b = int(b) # 自定义方法 def add(self): return self.a + self.b # 调用类时需要传入初始化参数 count = A(4, 5) print(count.add()) 继承 # B类继承A类 class B(A): def sub(self, a, b): return a - b print(B(2, 3).add(

Python之面向对象(四)类的约束与super()深入了解

删除回忆录丶 提交于 2019-11-28 16:25:11
6.6 类的约束 首先,你要清楚,约束是对类的约束,什么叫抽象类?从小到大的过程叫做抽象 接口类:(在抽象类的基础上)在python中,默认是没有接口类的,接口类不能被实例化(如果实例化会报错),接口类中的方法不能被实现 例子: #正常调用 class Applepay: def pay(self,money): print('apple pay 支付了%s'%money) class Alipay: def pay(self,money): print('支付宝 支付了%s'%money) def payment(pay_obj,money):#实例化另外一种调用,这个方法让实例化的时候按照pyment调用就像下面的payment(apple1,200) pay_obj.pay(money) apple1=Applepay() Payment(apple1,200) 有时候写的时候会把方法写错,自己定义一个主动报错;接口初成:手动报异常:NotImplementedError来解决开发中遇到的问题 例子: class Payment: def pay(self): raise NotImplementedError#主动让程序报错 class Wechatpay(Payment):#微信支付 def pay(self,money): print('微信支付了%s元'%money)

Python之面向对象(五)类的成员

笑着哭i 提交于 2019-11-28 16:24:17
6.8 面向对象之:类的成员 细分类的组成成员 类大概分为两块区域,如下 class A: name="haha"#第一部分 静态字段(静态变量) def __init__(self):#第二部分 方法部分 pass def func(self):#第二部分:方法部分 pass 具体可以细分为: class A: company_name="haha" #静态变量 (静态字段) _iphone="564545"#私有静态变量(私有静态字段) def __init__(self,name,age):#特殊方法 self.name=name#对象属性 self._age=age#私有对象属性(私有普通字段) def func1(self):#普通方法 pass def __func(self):#私有方法 print(666) @classmethod#类方法 def class_func(cls): """定义类方法,至少有一个cls参数""" print('类方法') @staticmethod#静态方法 def static_func(): """定义静态方法,无默认参数""" print("静态方法") @property#属性 def prop(self): pass 类的私有成员 对于每个类的成员而言都有两种形式:公有成员:在任何地方都能访问;私有成员

Python之面向对象(二)类的空间问题及类之间的关系

↘锁芯ラ 提交于 2019-11-28 16:23:36
6.3 类的空间问题及类之间的关系 类空间的问题 何处可以添加对象属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex obj = A("alex") obj.age = 18 # 通过__init__方法添加 print(obj.__dict__) obj1 = A("wusir") obj.func("男") # 通过func方法添加 print(obj1.__dict__) # 结果: {'name': 'alex', 'age': 18} {'name': 'wusir'} 总结:对象的属性不仅可以在__init__里面添加,还可以在类的其他方法或者类的外面添加 何处可以添加类的静态属性 class A: def __init__(self,name): self.name = name def func(self,sex): self.sex = sex def func1(self): A.bbb = 'ccc' A.aaa = "alex" # 类的外部添加 print(A.__dict__) A.func1(111) # 类的内部添加 print(A.__dict__) 总结:类的属性不仅可以在类内部添加,还可以在类的外部添加

python类的继承

∥☆過路亽.° 提交于 2019-11-28 16:17:14
一、概述     面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。   通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”,继承的过程,就是从一般到特殊的过程。在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。   继承概念的实现方式主要有2类:实现继承、接口继承。 实现继承是指使用基类的属性和方法而无需额外编码的能力。 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力(子类重构爹类方法)。   在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。   OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。 二、类的继承 2.1 继承的定义 class Person(object): # 定义一个父类 def talk(self): # 父类中的方法 print("person is

python 类定义 继承

丶灬走出姿态 提交于 2019-11-28 16:16:53
0 前言   系统:win7 64bit   IDE : python(x,y) 2.7.6.1   IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32 1 单继承 1.1 定义一个时间类,带默认参数 class mytime(object): def __init__(self,hour=21, \ minute=13, \ second=50): self.hour = hour self.minute = minute self.second = second def __str__(self): return '__str__ hour:minute:second = %02d:%02d:%02d' \ %(self.hour,self.minute,self.second) def get_hour(self): return self.hour def get_minute(self): return self.minute def get_second(self): return self.second def print_time(self): print 'hour:minute:second = %02d:%02d:%02d' %

python 类定义 继承

允我心安 提交于 2019-11-28 16:16:20
0 前言   系统:win7 64bit   IDE : python(x,y) 2.7.6.1   IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32 1 单继承 1.1 定义一个时间类,带默认参数 class mytime(object): def __init__(self,hour=21, \ minute=13, \ second=50): self.hour = hour self.minute = minute self.second = second def __str__(self): return '__str__ hour:minute:second = %02d:%02d:%02d' \ %(self.hour,self.minute,self.second) def get_hour(self): return self.hour def get_minute(self): return self.minute def get_second(self): return self.second def print_time(self): print 'hour:minute:second = %02d:%02d:%02d' %

Python笔记_类

喜你入骨 提交于 2019-11-28 14:40:26
1、类 1.1 类的定义 # 类的定义 class 类名: pass # pass是空语句,不具有任何意义,仅为了保持程序结构完整性 # 创建对象 对象名 = 类名() 1.2 成员变量 # 成员变量用于描述对象的固有状态或属性。 # 成员变量定义语法 class 类名: def __init__(self): # 公有属性 self.变量名1 = 值1 self.变量名2 = None 对象名.变量名 = 值 # 独有属性 class Person: def __init__(self): self.name = None self.age = 22 p1 = Person() p1.name = "Tom" p1.ID = 123456 print(p1.name) print(p1.age) print(p1.ID) """ 公有变量与独有变量的区别 公有变量在__init__方法中声明,每个对象都具有该变量 独有变量在创建对象后声明,只有当前对象具有此变量 定义对象的独有变量时,如果独有变量名与公有变量名相同,视为修改公有变量的值;如果独有变量名与公有变量名不相同,视为定义新的独有属性 None含义是为空,表示没有具体的数据 """ 1.3 成员方法 # 成员方法用于描述对象的固有行为 # 定义成员方法 格式一(无参方法): class 类名: def 方法名(self):

python--类

你说的曾经没有我的故事 提交于 2019-11-28 10:29:11
类的定义 # 定义类 class Luffy: school = 'luffy' # 数据属性 def learn(self): print('is learning') def eat(self): # 函数属性 print('is eating') print(Luffy.__dict__) ---------------------------------------- {'__module__': '__main__', 'school': 'luffy', 'learn': <function Luffy.learn at 0x005C9B70>, 'eat': <function Luffy.eat at 0x005C9BB8>, '__dict__': <attribute '__dict__' of 'Luffy' objects>, '__weakref__': <attribute '__weakref__' of 'Luffy' objects>, '__doc__': None} 与函数不同 类定义完以后,就产生了名称空间,而函数在调用的时候才会产生 def test(): a = 1 print('hah') return a print(test.__dict__) ---------------------------- {} 类的增删查改 #

python的类属性、实例属性、类方法、静态方法

爱⌒轻易说出口 提交于 2019-11-28 00:42:27
类属性 就像如下代码: class Person: name = "张三" # 共有类属性 __age = 18 # 私有类属性 在类中直接定义的属性就是类属性, 它被所有的实例对象所共有 。 对于共有类属性,在类外可通过类对象和实例对象访问 。 例如: class Person: name = "张三" # 共有类属性 __age = 18 # 私有类属性 p = Person() print(p.name) # 通过实例对象访问共有属性 print(Person.name) # 通过类对象访问共有属性 """ 输出结果: 张三 张三 """ 私有的类属性在类外不能被访问,否则会报异常。 实例属性 在类中通过self.xxx或者实例对象.xxx定义的属性就是实例属性。 每个实例属性仅在当前实例对象中有,若想要所有的实例对象有该实例属性,则需要在__init __初始化方法中定义该实例属性。 如下代码所示定义实例属性: class Person: def __init__(self): self.name = "张三" # 定义实例属性 p = Person() print(p.name) 或者 class Person: pass p = Person() p.name = "张三" # 定义实例属性 print(p.name) 通过类对象修改类属性的值