初识Python类

335 阅读3分钟

「这是我参与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()   可以查看方法,里面可以放类名。