python 中的 类
- 在python中 首字母大写的名称指的是类
- 类中的函数称为方法:
- __init__()方法:为了避免方法名称冲突,在开头和末尾各加上__ 两个下划线,__init__()方法第一各形参
self
必不可少,并且必须位于其他形参的前面,因为在python创建实例的时候,将会自动传入实参self.
- 创建一个dog类
# 创建一个dog类
class Dog():
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name.title() + "is sitting now.")
def roll_over(self):
print(self.name.title() + "rolled over")
- 创建一个实例
# 创建实例
my_dog = Dog("来福", 12)
print("my dog is " + my_dog.name.title() + " it's " + str(my_dog.age) + " years old")
-
实例创建之后访问类中的属性和方法使用.来访问如:
my_dog.name
访问类中的方法也一样 如:my_dog.sit()
-
可以根据类来创建任意数量的实例
-
创建一个汽车类
# 创建一个汽车类 class Car(): def __init__(self, make, model, year): # 制造商 self.make = make # 型号 self.model = model # 生产年份 self.year = year # 给类设定初始值 设定汽车的里程表初始值为 0 self.odometer_reading = 0 # 获取汽车简单描述的方法 def get_descriptive_name(self): long_name = str(self.year) + ' ' + self.make + ' ' + self.model return long_name # 定义获取汽车里程表的方法 def get_odometer(self): print('this car has ' + str(self.odometer_reading) + ' mailes on it.') # 定义里程 改变方法 def increment_odometer(self, miles): self.odometer_reading += miles # 创建一个实例 my_car = Car('audi', 'a4', 2016) # 获取汽车描述 print(my_car.get_descriptive_name()) # 直接修改汽车的属性 my_car.odometer_reading = 100 # 通过方法修改里程 my_car.increment_odometer(20) # 获取汽车的里程 my_car.get_odometer()
- 给类中的属性设置初始值:类中的每一个属性都必须有初始值。直接在__init__()方法中进行初始化
- 直接通过实例修改属性值如:
my_car.odometer_reading = 100
- 通过方法修改属性值如:里程修改方法