1.根据约定,首字母大写的名称指的是类。
2.类中的函数称为方法。
3.将实例用作属性的例子:
class User(): def __init__(self,name): self.name = name self.color = 'red' def describe_user(self): print(f"Hello! My name is {self.name}") class Privileges(): def __init__(self): self.privileges = ['can add post','can delete post','can ban user'] def show_pribileges(self): print(self.privileges) class Admin(User): def __init__(self, name): super().__init__(name) self.privilege = Privileges() fx = Admin('fx') fx.privilege.show_pribileges()
4.电动车电瓶升级案例:
class Car: def __init__(self, make, model, year): self.make = make self.model = model self.year = year self.odometer_reading = 0 def get_descriptive_name(self): long_name = f"{self.year} {self.make} {self.model}" return long_name.title() def read_odometer(self): print(f"This car has {self.odometer_reading} miles on it.") def update_odometer(self,mileage): if mileage >= self.odometer_reading: self.odometer_reading += mileage else: print("You can't do that!") def increment_odometer(self, miles): self.odometer_reading += miles class Battery: def __init__(self, battery_size =75): self.battery_size = battery_size def describe_battery(self): print(f"This car has a {self.battery_size}-kwh battery.") def get_range(self): if self.battery_size ==75: range = 260 elif self.battery_size ==100: range = 315 print(f"This car can go about {range} miles on a full charge.") def upgrade_battery(self): if self.battery_size != 100: self.battery_size = 100 print("Upgrade!") class ElectricCar(Car): def __init__(self, make, model, year): super().__init__(make, model, year) self.battery = Battery() car_test = ElectricCar('tesla', 'model s', 2019) car_test.battery.get_range() car_test.battery.upgrade_battery() car_test.battery.get_range()
5.到导入模块中的每个类时,最好不要用:
from module_name import *
需要从一个模块中导入很多类的时候,最好导入整个模块,并使用module_name.Classname语法来访问类。
6.将两个整数作为参数,并随机返回一个位于这两个整数之间的整数:
random.randint()
7.将一个列表或者元组作为参数,并随即返回其中一个元素:
random.choice()
8.类名应该采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不是用下划线。实例名和模块名称都采用小写格式,并在单词之间加上下划线。
9.在类中,可用一个空行来分割方法;在模块中,可用两个空行分割类