Python学习总结【连载】(十一)
Python学习总结【连载】(十一)
2018.06.26 Juttachen
概述
+ 36 类的概述
- 编程思想
- 类的概述和声明
- 对象的的创建和调用
三十六、类的概述
1.编程思想
面向过程的编程:c (一步一步的,只有逻辑和过程)
a = 1
b = 2
print(a+b)
面向对象编程:java,c++,oc,python等(有类语法)-->(以对象为工具实现功能)
# obj.sum(1,2)
函数式编程:c,java,python(以函数为工具实现功能)
def sum1(num1,num2):
return num1+num2
sum1(1,2)
2.类的概述
a.类
对具有相同属性和相同功能(能做的事情--->函数)的对象的集合,是抽象的。
b.对象
就是类的实例,是具体的。
例子:如果说车是一个类,楼下的那一辆红色的轿车就是一个对象。
如果说电脑是一个类,我桌上的黑色电脑就是一个对象。
3.类的声明
a.格式:
class 类名:
类的内容
class
python中声明类的关键字
类名
标识符,额外要求:1)首字母大写 2)见名知意
冒号
固定格式,冒号后一个缩进的内容就是类的内容
类的内容:
1)类变量 (类属性)
声明在类中,但是在方法外的变量;要通过类去获取(属于这个类共有的,通过类能让其具体的属性)
2)对象属性
3)方法(构造方法,对象方法,类方法,静态方法)
方法:声明在类中的函数就叫方法
声明一个人对应的类
class Person:
# count就是类变量(通过类去)
count = 61 #局部变量,作用域是整个类
构造方法init,名字固定
通过类创建对象的时候的时候,系统会自动的调用去初始化
self
1.类中所有的对象方法都会默认有一个self参数,用来指向调用方法的对象(谁调用当前这个方法就指向谁)
2.调用带有self的方法,不需要给self传参,系统会自动将方法调用者转给它
def __init__(self,name1=''):
# 我们一般在这个地方去声明对象的属性
# name,age,gerder就是人这个类的对象的属性
self.name = name1
self.age= 0
self.gender = '女'
对象方法:
1.所有的对象方法都有一个默契的参数self
2.直接声明在类中的函数,都是对象方法
3.对象必须使用对象去调用
def run(self):
print('跑起来')
1.使用类变量:通过类名。变量通过类名.类变量 的形式在类外去使用类变量
print(Person.count)
2.name,agen,name都是对象的属性不服,对象属性的使用:对象.属性名
3.对象方法run:对象方法只能通过对象去调用-->对象.方法名(实参列表)
# run() #NameError:name 'run' is not defined
# Person.run()
4.怎么声明对象:类名(参数)
通过类创建对象:会自动调用类的init方法去初始化对象的属性
类名(参数),这个参数有没有,就看有几个init方法
p1 = Person('Luolaoshi') #通过Person类,创建了一个对象p1
创建完对象后,就可以通过对象获取对象属性:对象.属性名
print(p1.name)
# 通过对象给属性赋值
p1.age = 10
print(p1.age)
通过对象去调用对象方法(也叫给对象发送消息)
p1.run()
5.一个类可以拥有多个对象
p2 = Person()
p2.name = 'LuoHao'
p2.age = 34
p2.gender = '男'
p2.run()