1. 类
创建类
# 形式:
class 类名:
# 如:
class Student:
name = None
age = None
实列化对象
# 形式:
对象=类名()
# 如:
stu_1=Student()
给对象赋值
形式:
# 对象.成员变量=要赋予的值
# 如:
stu_1.name="小明"
stu_1.age=18
打印出对象记录的数据
# 形式:
print(对象.要观察的成员变量)
# 注:不能直接print(对象) 因为此时对象记录的地址
# 如:
print(stu_1.name)
print(stu_1.age)
方法:
概念:就是定义在类内部的函数叫做方法
成员变量:
概念:就是定义在类内且不在函数内的变量叫做成员变量
self:
相当于this指针,用于控制对象本身,与this指针不同的是this指针是隐式显示的,而self是显式的显示的。
但是他们都是隐式的传入就是在调用时不用传入self。
什么是面向对象
面向编程就是使用对象编程,即设计类,基于类创建对象,再通过对象来完成具体工作
类的内置方法(魔术方法)
构造方法 init()
注:在创建类对象的时候会自动执行,如果有参数也会把参数一起传入
# 形式:
def __init__(self,id,price):
self.id=id
self.price=price
注:而其他语言不同的是,python的类中即使不写成员变量,也可以在构造方法时自动生成,如上列就生成了id与price两个成员变量.
字符串 str 可以控制对象转换成字符串得到行为 即就是将对象原本指向内存地址的行为,转变为指向对应的值,类似于java的toString方法。
# 形式:
def __str__(self):
return 字符串
# 如:
def __str__(self):
return f"学生的姓名:{self.name},学生的年龄:{self.age},学生的地址:{self.adder}"
lt 比较两个对象的大小,因为直接比较的话是比较两个对象而不是对象里面的值,类似于C++中的重写
# 形式:
def __lt__(self,other):
return self.要比较的成员变量<other.要比较的成员变量
# 注:要比较的成员变量是一样的,只支持小于或者大于,不支持小于等于或者大于等于
# 如:
def __lt__(self, other):
return self.age<other.age
le 比较两个对象的大小与 _lt 不同 他针对的是小于等于或者大于等于
# 形式:
def __le__(self,other):
return self.要比较的成员变量<=other.要比较的成员变量
# 注:要比较的成员变量是一样的
# 如:
def __le__(self, other):
return self.age<=other.age
eq 比较两个对象是否相同
# 形式:
def __eq__(self,other):
return self.要比较的成员变量==other.要比较的成员变量
# 注:要比较的成员变量是一样的
# 如:
def __leq__(self, other):
return self.age==other.age