类和对象
类是一个抽象概念,是对一群具有相同特征或者行为的事物一个统称,是抽象,不能直接使用
对象是类的具体事例,归属某个对象的具体的东西,类创建对象的模板。
类由属性和方法组成
-
创建类语法
类名所有单词首写字母大写
__init__也叫构造函数,创建对象时候自动运行,也可以省略
self变量绑定的是被创建对象。
class Phone: def __init__(self, brand, price, colour): self.brand = brand self.price = price self.colour = colour def call(self): print("我是手机能通讯!") #实例化对象过程 iphone = Phone('apple', '6788', 'red') iphone.call() -
__name__作用
__name__直接运行py文件时候,值是_main_。如果这个py文件作为模块导入的时候,__name__是文件名称,一般作为脚本入口使用.
-
包就是将多个具有相似或者关联的多个模块放在一个文件夹里,便于统一管理,我们称这个文件夹为包,python包里面都会有__init__.py文件
例子:删除列表中元素为奇数的元素
list01 = [3, 7, 5, 6, 7, 8, 9, 13]
length = len(list01)
while length > 0:
length = length - 1
if (list01[length]) % 2 != 0:
list01.pop(length)
删除列表元素从后往前删除,从前往后删除,后面元素下标会变成前一个元素下标。
-
实例成员
实例变量
class Wife: pass w01 = Wife() #创建实例变量,但是不建议这么做。一个类成员一般由定义类时候决定,不是由使用类时候决定。 w01.name = '杨贵妃' w01.name = '范冰冰' print(w01.name)实例方法
语法
(1)定于:def 方法名称(self, 参数列表):
(2)调用:对象地址.实例方法名称(参数列表),不建议通过类名去调用
(3)至少有一个形参,第一个参数绑定调用这个方法对象,一般命令为self
(4)无论创建多少个对象,方法只有一份,并且被所有。并且被所有对象共享。class Dog: def __init__(self, pingZhong, nike, age, weight=0): self.pingZhong = pingZhong self.nike = nike self.age = age self.weight = weight # 生成参数的快捷键:alt + 回车 def eat(self): print(self.nike, "要吃东西!") def cry(self): print(self.nike, "会呼叫主人!") d01 = Dog('金毛','旺财', 23, '50KG') d01.eat() -
类成员
类变量:在类里面,在成员方法和类方法之外的变量
类方法:
-
定义:
@classmethod
def 方法名称(cls,参数列表)
方法体 -
调用:
类名.方法名(参数列表)
不建议通过对对象方位类方法
class ICBC: # 类变量 total_money = 10000000 # 类方法 # 类方法主要作用就是操作类变量 @classmethod def printTotalMoney(cls): print("总行的钱是", cls.total_money) def __init__(self, name="", money=0): self.name = name self.money = money # 访问类变量是类名.变量名 ICBC.total_money -= money ICBC.printTotalMoney() i01 = ICBC("深圳分行", 3000000) i02 = ICBC("广州分行", 4000000) -
全局变量:存储在文件中 局部变量:存储在栈帧中 类变量:存储在类中 实例变量:存储在对象中 当以后想表达自己的数据就用实例变量, 当你表达大家数据就用类变量
浙公网安备 33010602011771号