类
1.编程思想:
面向过程编程:C语言(只有逻辑和过程)
a = 1
b = 2
print(a+b)
面向对象编程:Java、c++、oc、python等(有类语法)-->(以对象为工具实现功能)
对象.sum(1,2)
函数式编程:c、Java、python等(以函数为工具实现功能)
def sum(num1, num2):
return num1+num2
sum(1,2)
类:对具有相同属性和相同功能的对象的集合。是抽象的
如果说人是一个类,小明就是一个人的对象
如果说车是一个类,楼下停着那辆红色的轿车就是一个对象
对象:就是类的实例。是具体的
2.声明类的格式:
class 类名:
类的内容
class:python中声明类的关键字
类名:标识符,1.首字母大写; 2.见名知义
冒号:是固定格式,冒号后一个缩进的内容就是类的内容
类的内容:1.类变量 2.对象属性 3.方法(对象方法、类方法、静态方法、构造方法)
方法:声明在类中的函数就叫方法
1.类变量:声明在类中,方法外的变量;要通过类去获取(通过类能够让其具体的属性)
3.声明一个人对应的类
count就是类变量
构造方法:init,名字固定:
通过类创建对象的时候,系统会自动的调用这个方法去初始化对象的属性
self:
1.类中所有的对象方法都会默认有一个self参数,用来指向调用方法的的对象(谁调用就指向谁)
2.调用带有self的方法,不需要给self传参,系统会自动将方法调用者传给它
对象方法:
1.所有的对象方法都有一个默认值self
2.直接声明在类中的函数,都是对象方法
3.对象方法必须使用对象去调用
class Person:
count = 61 # 局部变量:作用域是整个类
# 构造方法
def __init__(self, name1=''):
# 一般在这个地方去声明对象的属性
# name、age、gender就是人这个类的对象的属性
self.name = name1
self.age = 0
self.gender = '女'
# 对象方法:
def run(self):
print('跑起来')
1.使用类变量:通过 类名.类变量 的形式在类在去使用类变量
print(Person.count) # 61
2.name / age /gender都是对象属性,对象属性的使用:对象.属性名
print(Person.name) 报错
3.对象方法run:对象方法只能通过对象去调用 --> 对象.方法名(实参列表)
Person.run() 报错
4.怎么声明对象:类名(参数)
通过类创建对象:会自动调用类的init方法去初始化对象的属性
类名(参数),这个参数有没有,有几个就看init方法
p1 = Person('xiaoming') # 通过Person类。创建一个对象p1
创建完对象后,就可以通过对象获取对象属性:对象.对象名
print(p1.name) # xiaoming
通过对象给属性赋值
p1.age = 10
print(p1.age) # 10
通过对象去调用对象方法(也叫给对象发送消息)
p1.run() # 跑起来
5.一个类可以拥有多个对象
p2 = Person()
p2.name = 'zhangsan'
print(p2.name) # zhangsan
p2.age = 30
print(p2.age) # 30
p2.gender = '男'
print(p2.gender) # 跑起来
p2.run()