什么网站做问卷好,上海昆山网站公司,购物网站开发需要什么软件,7天酒店网站建设优势目录
1. 标记变量的基础类型
2. 初识对象
2.1 使用对象组织数据
3. 成员变量
3.1 类和类成员的定义
3.2 成员变量和成员方法使用
3.3 成员方法的定义语句
4. 类和对象class Clock: def ring(self):
4.1 创建类对象的语法#xff1a;对象名 类名称()
4.2 用生活中的…目录
1. 标记变量的基础类型
2. 初识对象
2.1 使用对象组织数据
3. 成员变量
3.1 类和类成员的定义
3.2 成员变量和成员方法使用
3.3 成员方法的定义语句
4. 类和对象class Clock: def ring(self):
4.1 创建类对象的语法对象名 类名称()
4.2 用生活中的物件来解释对象
4.3 基于类创建对象
5. 构造方法__init__()方法
5.1 构造方法
5.2 构造方法注意事项
6. 魔术方法__init__ 、__str__...
6.1 __str__字符串方法控制类转换成字符串的行为
6.2 __lt__小于符号比较方法对2个对象进行比较
6.3 __le__小于等于比较符号方法对2个对象进行比较
6.4 __eq__比较运算符实现方法判断对象的值是否相等 1. 标记变量的基础类型
方便了解变量的基础类型
语法变量: 类型
# 基础数据类型注解
var_1: int 10
var_2: float 3.55
var_3: bool True
var_4: str zhangSanclass Student:pass# 类对象类型注解
stu: Student Student()
2. 初识对象
2.1 使用对象组织数据
1. 在程序中设计表格设计类(class)
class Student:name None #记录学生姓名
2. 在程序中打印生产表格创建对象
# 基于类创建对象
stu_1 Student()
stu_2 Student()
3. 在程序中填写表格对象属性赋值
stu_1.name zhangSan # 为学生1对象赋予名称属性值
stu_2.name lisi # 为学生2对象赋予名称属性值
4. 打印对象结果 小结
在程序中是可以做到和生活中那样设计表格、生产表格、填写表格的组织形式的与程序进行对比 在程序中设计表格设计类(class)在程序中打印生产表格创建对象在程序中填写表格对象属性赋值
3. 成员变量
3.1 类和类成员的定义
我们可以使用类去封装属性并基于类创建出一个个的对象来使用而类的成员一般都会有成员变量成员方法创建类对象的语法对象 类名称()
class 类名称: # class是关键字表示定义一个类类的属性 # 即定义在类中的变量(成员变量)类的行为 # 即定义在类中的函数(成员方法)
3.2 成员变量和成员方法使用
类中定义的属性变量称之为成员变量类中定义的行为函数称之为成员方法
class Student:name Noneage Nonedef say_hi(self):print(f大家好我是{self.name}) # 2.self.调用成员变量stu Student()
stu.name zhangSan # 1.成员变量的赋值
stu.say_hi() 3.3 成员方法的定义语句
1. 成员方法定义和self关键字
在类中定义成员方法和定义函数基本一致
def 方法名(se1f形参1.....·形参N):方法体
self关键字self关键字是成员方法定义的时候必须填写的 它用来表示类对象自身的意思当我们使用类对象调用方法时self会自动被python传入在方法内部想要访问类的成员变量必须使用self
2. 类的行为
在定义类行为时若无传入的形参则在相对应调用类的方法时即可不用传递参数在定义类行为时如果定义了形参这时候在调用类的方法时就必须传入对应的实参想要访问成员属性必须使用self但是如果是传递的参数就可以不用注意self是必写的关键字用来调用成员变量
class Student:name Noneage Nonedef say_hi(self):print(大家好)def say_hi1(self, name):print(f大家好我是{name})stu Student()
stu.say_hi() # 调用时无需传参
stu.say_hi1(zhangSan) # 调用时按照成员需要传递name实参 4. 类和对象class Clock: def ring(self):
概念类就是一个模板对象就是实现类的实体
4.1 创建类对象的语法对象名 类名称() 为什么要创建对象因为类只是一种程序内的“设计图纸”需要基于图纸生产实体对象才能正常工作这种方式通常称为面向对象编程
4.2 用生活中的物件来解释对象
就比如闹钟 一个闹钟就好比一个对象那么对象的属性就是闹钟的价格型号、品牌那么闹钟的行为就好比闹钟响铃
4.3 基于类创建对象
winsound类可以让计算机发出一点声音
# 设计一个闹钟类
class Clock:price None # 价格size None # 型号brand None # 品牌def ring(self):import winsoundprint(闹钟开始响铃...)winsound.Beep(2000, 1000) # 频率持续时间# 构建闹钟对象并让其工作clock就是闹钟的对象
clock Clock()
clock.price 10
clock.size 标准型
clock.brand 小米
print(f闹钟价格{clock.price}元型号{clock.size}品牌{clock.brand})
clock.ring() # 闹钟响铃行为 小结
现实世界的事物由什么组成 属性行为类也可以包含属性和行为所以使用类描述现实世界事物是非常合透的类和对象的关系是什么 类是程序中的“设计图纸”对象是基于图纸生产的具体实体什么是面向对象编程 面向对象编程就是使用对象进行编程即设计类基于类创建对象并使用对象来完成具体的工作
5. 构造方法__init__()方法
大致就是一个类可以直接定义init构造方法直接省去类的成员属性定义而直接将成员属性定义在init中并且在类创建时会自动执行init构造方法并将传入的参数自动传递给init方法使用
5.1 构造方法
上面类的属性可以省略不写在init中已经声明了
Python类可以使用_ init() _方法称之为构造方法
可以实现
在创建类对象构造类的时候会自动执行在创建类对象构造类的时候将传入参数自动传递给init方法使用
class Student:# name None# age None 省略成员属性# tel Nonedef __init__(self, name, age, tel): # 构建类时传入的参数会自动提供给__init__方法并在构建类的时候__init__方法会自动执行self.name nameself.age ageself.tel telprint(Stu类创建了一个对象, f学生名是{name})sut Student(zhangSan, 28, 18300000000) 5.2 构造方法注意事项
使用_ init _时注意前后都有2个下划线构造方法也是成员方法不用忘记在参数列表中提供self关键字在构造方法内定义成员变量需要使用self关键字意思是要成为成员变量需要用self来表示 def __init__(self, name, age, tel): # 构建类时传入的参数会自动提供给__init__方法并在构建类的时候__init__方法会自动执行self.name nameself.age ageself.tel telprint(Stu类创建了一个对象, f学生名是{name})
6. 魔术方法__init__ 、__str__... 概念 不仅仅只有这几个魔术方法在python中有大概二三十个 比如说__init__ 就是python类内置的方法之一 这些内置的类方法各自有各自特殊的功能这些内置方法称为魔术方法 常见的魔术方法 __init__ 构造方法__str__ 字符串方法__lt__ 小于大于符号比较__le__ 小于等于大于等于符号比较__eq__ 符号比较
可以结合放在一段代码中案例
6.1 __str__字符串方法控制类转换成字符串的行为
类创建时自动执行__str__魔术方法
class Student:def __init__(self, name, age):self.name nameself.age agedef __str__(self):return fStudent类对象name{self.name}age{self.age}student Student(zhangSan, 28)
print(student)
print(str(student)) 6.2 __lt__小于符号比较方法对2个对象进行比较
同时__lt__也支持大于符号的判断但是不支持小于等于或大于等于判断
class Student:def __init__(self, name, age):self.name nameself.age agedef __str__(self):return fStudent类对象name{self.name}age{self.age}def __lt__(self, other): # 传入参数other另一个对象返回值True和Falsereturn self.age other.agestudent Student(zhangSan, 28)
student1 Student(zhangSan, 30)
print(student student1) 6.3 __le__小于等于比较符号方法对2个对象进行比较
同时支持大于等于判断等于符号也可以支持
在这里两个对象相判断是否相等是判断两个对象的内存地址是否相等答案会为False而比较对象值是否相等要使用__eq__
class Student:def __init__(self, name, age):self.name nameself.age agedef __le__(self, other): # 传入参数other另一个对象返回值True和Falsereturn self.age other.agestudent Student(zhangSan, 28)
student1 Student(zhangSan, 30)
print(student student1) 6.4 __eq__比较运算符实现方法判断对象的值是否相等
class Student:def __init__(self, name, age):self.name nameself.age agedef __eq__(self, other): # 传入参数other另一个对象返回值True和Falsereturn self.age other.agestudent Student(zhangSan, 30)
student1 Student(zhangSan, 30)
print(student student1)