「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」
小知识点:
面向对象和面向过程:::
(1)面向过程(亲力亲为): 煮饭,洗菜,洗碗,切菜,炒菜,出锅 吃饭
(2)面向对象(凡事都是对象来做):女朋友(煮饭,洗菜,洗碗,切菜,炒菜,出锅) 我们直接 吃饭
点外卖 吃饭
类 (抽象)
类是一个独立存放变量(属性/方法)的空间。(把一些事物的共有特点封装起来。)
实例也是一个独立存放变量的空间。(每个实例都是一个独立的变量空间,不同实例之间的空间不可见)
类名要大写,实例名要小写。
实例名.属性名 调用某一个实例属性。
类名.属性名 调用封装在类里面的类的属性。
类编码风格:
类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名
和模块名都采用小写格式,并在单词之间加上下划线。
对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的
功能,并遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文档字符串,
对其中的类可用于做什么进行描述。
可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法;而在模块中,
可使用两个空行来分隔类。
需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的 import 语句,再
添加一个空行,然后编写导入你自己编写的模块的 import 语句。在包含多条 import 语句的程序中,
这种做法让人更容易明白程序使用的各个模块都来自何方。
定义:
class 类名:
pass
1.例如:
class Person: #定义类名要首字母大写。
a = '两只手,两条腿' #封装在类里面类中的属性
#类,是一个独立存放变量(属性/方法)的空间。
wumou = Person() #实例名 = 类名() 实例
zhangmou = Person()
wumou.name = "吴某" #实例的特征 实例属性 (一个实例的特征,就是属性)
wumou.age = 18
zhangmou.age = 20
print(Person.a) #调用类的属性
print(wumou.age) #调用实例属性
类与实例之间的关系:::
(1)类:::
是一类事物的抽象,不是真实存在的,描绘了该类事物的共性。
例如:“人”,“动物”
(2)实例:::
某类事物的具体个体,是该类事物的具体表现,它是真实存在的。
例如:“吴某”是具体的某个人,
“张某”也是具体的某个人。
2.私有属性:
在python中有两个私有属性,分别是在属性前加一个下划线()和两个下划线()
一个下划线外部可以直接访问,两个下划线外部不能直接访问。
一个下划线只是做简单的标记。
两个是私有属性,不能够直接使用。
python当中的私有属性没有绝对的私有。
class Person:
_sex = "男"
__age = 18
wuhan = Person() #实例
print(Person._sex) #调用类属性
print(Person.__age) #双下划线会报错,不可以直接访问双下划线变量名
print(Person._Person__money) #这样就可以访问双下划线的属性
在python中,_和__的使用更多的是一种规范/约定,没有真正限制的目的
定义类中的私有属性也可以被子类继承
小知识点:::
dir() 可以查看方法,里面可以放类名。