9.1 创建和使用类
class Dog():
"""一次模拟小狗的简单尝试"""
def __init__(self,name,age):
"""初始化属性name 和 age"""
self.name = name
self.age = age
def sit(self):
"""模拟小狗被命令是蹲下"""
print(self.name.title() + " is now siting.")
def roll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title() + " rolled over!")
my_dog = Dog('willie',6)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + "years old.")
my_dog.sit()
my_dog.roll_over()
属性访问
通过实例化后的类名.方法访问
python先找到实例my_dog,在查找关联的属性my_dog.name ,在Dog类中引用这个属性时,使用的是self.name,即应用传入的name值。
9.2 使用类和实例
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
9.2.2 给属性指定默认值
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一条指出汽车里程的消息"""
print("This car has " + str(self.odometer_reading) + "miles on it.")
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
my_new_car.read_odometer()
9.2.3 修改属性的值
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一条指出汽车里程的消息"""
print("This car has " + str(self.odometer_reading) + "miles on it.")
def update_odometer(self,mileage):
"""将里程读数设置为指定的数,禁止将里程数回调,即原本已打印行驶10,之后修改小于10"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
my_new_car.odometer_reading = 23
my_new_car.update_odometer(30)
my_new_car.read_odometer()
3. 通过方法对属性的值进行递增
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一条指出汽车里程的消息"""
print("This car has " + str(self.odometer_reading) + "miles on it.")
def update_odometer(self,mileage):
"""将里程读数设置为指定的数,禁止将里程数回调,即原本已打印行驶10,之后修改小于10"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self,miles):
"""将里程表读数增加特定的量"""
self.odometer_reading += miles
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
my_new_car.odometer_reading = 23
my_new_car.update_odometer(30)
my_new_car.increment_odometer(100)
my_new_car.read_odometer()
9.3 继承
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
"""
1.子类与父类需在一个文件夹内,且位于父类之后
2.子类括号内需填写继承的父类名称
"""
class ElectrioCar(Car):
"""电动车的独特之处"""
"""
1.方法__init__(),接受创建Car实例所需的信息
"""
def __init__(self,make,model,year):
"""初始化父类"""
"""
1.super()方法是一个特殊方法,将父类与子类联系起来,这行代码能让python调用子类ElectrioCar的父类方法__init__(),
让子类ElectrioCar实例包含父类所有属性,父类也成为超类(superclass)
"""
super().__init__(make,model,year)
my_tesla = ElectrioCar('telsa','models',2016)
print(my_tesla.get_descriptive_name())
9.3.3 给子类定义属性和方法
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
"""
1.子类与父类需在一个文件夹内,且位于父类之后
2.子类括号内需填写继承的父类名称
"""
class ElectrioCar(Car):
"""电动车的独特之处"""
"""
1.方法__init__(),接受创建Car实例所需的信息
"""
def __init__(self,make,model,year):
"""初始化父类"""
"""
1.super()方法是一个特殊方法,将父类与子类联系起来,这行代码能让python调用子类ElectrioCar的父类方法__init__(),
让子类ElectrioCar实例包含父类所有属性,父类也成为超类(superclass)
"""
super().__init__(make,model,year)
"""
1.初始化父类后,可定义子类特有属性
"""
self.battery_size = 70
def describe_battery(self):
"""打印电瓶电量信息"""
print("This ElectrioCar has a " + str(self.battery_size) + "-KWh battary.")
my_tesla = ElectrioCar('telsa','models',2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
9.3.4 重写父类的方法
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def fill_gas_tank(self):
"""父类中有邮箱的方法"""
print("This Car need a gas tak!")
"""
1.子类与父类需在一个文件夹内,且位于父类之后
2.子类括号内需填写继承的父类名称
"""
class ElectrioCar(Car):
"""电动车的独特之处"""
"""
1.方法__init__(),接受创建Car实例所需的信息
"""
def __init__(self,make,model,year):
"""初始化父类"""
"""
1.super()方法是一个特殊方法,将父类与子类联系起来,这行代码能让python调用子类ElectrioCar的父类方法__init__(),
让子类ElectrioCar实例包含父类所有属性,父类也成为超类(superclass)
"""
super().__init__(make,model,year)
"""
1.初始化父类后,可定义子类特有属性
"""
self.battery_size = 70
def describe_battery(self):
"""打印电瓶电量信息"""
print("This ElectrioCar has a " + str(self.battery_size) + "-KWh battary.")
def fill_gas_tank(self):
"""全电动的汽车不需要油箱,因此需要重写父类油箱方法"""
print("This ElectrioCar doesn't need a gas tank!")
my_tesla = ElectrioCar('telsa','models',2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
my_tesla.fill_gas_tank()
my_car = Car('BMW','Big',2018)
my_car.fill_gas_tank()
9.3.5 将实例用作属性
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def fill_gas_tank(self):
"""父类中有邮箱的方法"""
print("This Car need a gas tak!")
class Battery():
def __init__(self,battery_size = 70):
self.battery_size = battery_size
def describe_battery(self):
"""打印一条描述电瓶容量的消息"""
print("This car has a " + str(self.battery_size) + "-kWh battery.")
class ElectrioCar(Car):
"""
1.子类与父类需在一个文件夹内,且位于父类之后
2.子类括号内需填写继承的父类名称
"""
def __init__(self,make,model,year):
"""初始化父类"""
"""电动车的独特之处"""
"""
1.方法__init__(),接受创建Car实例所需的信息
"""
super().__init__(make,model,year)
"""
1.super()方法是一个特殊方法,将父类与子类联系起来,这行代码能让python调用子类ElectrioCar的父类方法__init__(),
让子类ElectrioCar实例包含父类所有属性,父类也成为超类(superclass)
"""
"""调用Battery类中的方法"""
self.battery = Battery()
def fill_gas_tank(self):
"""全电动的汽车不需要油箱,因此需要重写父类油箱方法"""
print("This ElectrioCar doesn't need a gas tank!")
my_tesla = ElectrioCar('telsa','models',2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.fill_gas_tank()
my_car = Car('BMW','Big',2018)
my_car.fill_gas_tank()
9.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 = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name
def read_odometer(self):
"""打印一条消息,指出汽车的里程"""
print("This car has " + str(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 roll back an odometer!")
def increment_odometer(self,miles):
"""将里程数增加指定量"""
self.odometer_reading += miles
from car import Car
my_new_car = Car('audi','a4',2016)
print(my_new_car.get_descriptive_name())
my_new_car.odometer_reading = 23
my_new_car.read_odometer()
9.4.2
在一个模块中存储多个类
class Car():
"""一次模拟汽车的简单尝试"""
def __init__(self,make,model,year):
"""初始化描述汽车的属性,设定了3个形参,在根据该类创建实例时,需要指定实例属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回整洁的描述信息,使用属性创建一个汽车的描述字符串,根据创建的实例,将其存储在变量实例中"""
long_name = str(self.year) + ' ' + self.make + ' ' + self.model
return long_name.title()
def read_odometer(self):
"""打印一条指出汽车里程的消息"""
print("This car has " + str(self.odometer_reading) + "miles on it.")
def update_odometer(self,mileage):
"""将里程读数设置为指定的数,禁止将里程数回调,即原本已打印行驶10,之后修改小于10"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
class Battery():
"""一次模拟电动汽车电瓶的简单尝试"""
def __init__(self,battery_size = 60):
"""初始化电瓶的属性"""
self.battery_size = battery_size
def describe_battery(self):
"""打印一条描述电瓶容量的消息"""
print("This car has a " + str(self.battery_size) + "-KWh battary.")
def get_range(self):
"""打印一条描述电瓶续航里程的消息"""
if self.battery_size == 70:
range = 240
elif self.battery_size == 85:
range = 270
message = "This car can go approximately " + str(range)
message += "miles on a full charge."
print(message)
class ElectricCar(Car):
"""模拟电动汽车的独特之处"""
def __init__(self,make,model,year):
"""初始化父类的属性,在初始化电动车特有属性"""
super().__init__(make,model,year)
self.battery = Battery()
from car import ElectricCar
my_tesla = ElectricCar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.battery.get_range()
9.4.3
从一个模块中导入多个类
from car import Car,ElectricCar
my_bettle = Car('volkswagen','bettle',2016)
print(my_bettle.get_descriptive_name())
my_tesla = ElectricCar('tesla','roadster',2016)
print(my_tesla.get_descriptive_name())
9.4.4
导入整个模块
import car
9.4.5
导入模块中的所有类
from module_name import
9.4.6
在一个模块中导入另一个模块
from car import Car
class Battery():
--snip--
class ElectricCar(Car):
--snip--
"""一个用于表示汽车的类"""
class Car():
--snip--
from car import Car
from electric_car import ElectricCar
9.5
Python标准库
from collections import OrderedDict
favorite_languages = OrderedDict()
favorite_languages['jen'] = 'python'
favorite_languages['sarah'] = 'c'
favorite_languages['edward'] = 'ruby'
favorite_languages['phil'] = 'python'
for name,language in favorite_languages.items():
print(name.title() + "'s favorite language is " + language.title() + '.')
练习题
class Restaurant():
"""餐馆类,定义餐馆两个属性:
restaurant_name
cuisine_type
"""
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print("餐厅名字:" + self.restaurant_name)
print("主打菜系:" + self.cuisine_type)
def open_restaurant(self):
print("餐厅正在营业!欢迎就餐")
restaurant = Restaurant("川味坊","川菜")
restaurant.describe_restaurant()
restaurant.open_restaurant()
class Restaurant():
"""餐馆类,定义餐馆两个属性:
restaurant_name
cuisine_type
"""
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print("餐厅名字:" + self.restaurant_name)
print("主打菜系:" + self.cuisine_type + "\n")
def open_restaurant(self):
print("餐厅正在营业!欢迎就餐")
restaurant = Restaurant("川味坊","川菜")
restaurant_two = Restaurant("鲁家菜","鲁菜")
restaurant_tre = Restaurant("闽阁","闽菜")
restaurant.describe_restaurant()
restaurant_two.describe_restaurant()
restaurant_tre.describe_restaurant()
class User():
"""
类名:User
属性:1.first_name 2.last_name 3.用户简介通常会存储的其他几个属性
方法:1.describe_user() 打印用户信息摘要 2.greet_user()向用户发出个性化的问候
"""
def __init__(self,first_name,last_name,**selfintros):
self.first_name = first_name
self.last_name = last_name
self.selfintros = selfintros
def describe_user(self):
print("用户姓名:" + self.first_name + self.last_name)
for key,value in self.selfintros.items():
print(key + ":" + value)
print("\n")
def greet_user(self):
print("你好!" + self.first_name + self.last_name)
user_one = User('张','三',job = '销售')
user_two = User('李','四',job = '销售',address = '北京')
user_one.greet_user()
user_one.describe_user()
user_two.greet_user()
user_two.describe_user()
class Restaurant():
"""餐馆类,定义餐馆两个属性:
restaurant_name
cuisine_type
"""
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
print("餐厅名字:" + self.restaurant_name)
print("主打菜系:" + self.cuisine_type)
def open_restaurant(self):
print("餐厅正在营业!欢迎就餐")
print("目前已经有" + str(self.number_served) + '人就餐!')
restaurant = Restaurant("川味坊","川菜")
restaurant.number_served = 100
restaurant.describe_restaurant()
restaurant.open_restaurant()
class User():
"""
类名:User
属性:1.first_name 2.last_name 3.用户简介通常会存储的其他几个属性
方法:1.describe_user() 打印用户信息摘要 2.greet_user()向用户发出个性化的问候
"""
def __init__(self,first_name,last_name,**selfintros):
self.first_name = first_name
self.last_name = last_name
self.selfintros = selfintros
self.login_attempts = 0
def describe_user(self):
print("用户姓名:" + self.first_name + self.last_name)
for key,value in self.selfintros.items():
print(key + ":" + value)
print("\n")
def greet_user(self):
print("你好!" + self.first_name + self.last_name)
def increment_login_attempts(self,nums):
while nums > 0:
self.login_attempts += 1
nums -= 1
def reset_login_attempts(self):
self.login_attempts = 0
def print_login_attempts(self):
print("login_attempts值:" + str(self.login_attempts))
user_one = User('张','三',job = '销售')
user_one.increment_login_attempts(100)
user_one.print_login_attempts()
user_one.reset_login_attempts()
user_one.print_login_attempts()
class Restaurant():
"""餐馆类,定义餐馆两个属性:
restaurant_name
cuisine_type
"""
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print('店名:\n' + self.restaurant_name)
print('主营范围:\n' + self.cuisine_type)
def open_restaurant(self):
print("餐厅正在营业!欢迎就餐")
class IceCreamStand(Restaurant):
def __init__(self,restaurant_name,cuisine_type,flavors):
super().__init__(restaurant_name,cuisine_type)
self.flavors = flavors
def show_icecream(self):
print("\n在售冰激凌口味:")
for flavor in self.flavors:
print(flavor)
icecreamstand = IceCreamStand('甜蜜蜜冰淇淋店','甜筒系列',['香草味','草莓味','巧克力味'])
icecreamstand.describe_restaurant()
icecreamstand.show_icecream()
class User():
def __init__(self,first_name,last_name,**selfintros):
self.first_name = first_name
self.last_name = last_name
self.selfintros = selfintros
def describe_user(self):
print("用户姓名:" + self.first_name + self.last_name)
for key,value in self.selfintros.items():
print(key + ":" + value)
def greet_user(self):
print("你好!" + self.first_name + self.last_name)
class Admin(User):
def __init__(self,first_name,last_name,*privileges,**selfintros):
super().__init__(first_name,last_name,**selfintros)
self.privileges = privileges
def show_privileges(self):
print("管理员权限:" )
for privilege in self.privileges:
print(privilege)
admin = Admin('王','五','can add post','can delete post','can ban user',sex = '男',address = '北京')
admin.greet_user()
admin.describe_user()
admin.show_privileges()
class User(object):
def __init__(self, first_name, last_name, age, phone_number):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.phone_number = phone_number
def describe_user(self):
full_name = self.first_name + " " + self.last_name
print(full_name + " is " + str(
user_one.age) + " years old,and he's phone number is " + user_one.phone_number + ".")
def greet_user(self):
full_name = self.first_name + " " + self.last_name
print("Hello," + full_name + " !")
class Admin(User):
def __init__(self, first_name, last_name, age, phone_number):
super(Admin, self).__init__(first_name, last_name, age, phone_number)
self.privileges = Priviliges()
class Priviliges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("The power of admin are:")
for privilege in self.privileges:
print(privilege)
user_one = User('Jackson', 'Yee', 18, '1234567890')
user_one.describe_user()
user_one.greet_user()
admin = Admin('Jackson', 'Yee', 18, '1234567890')
admin.privileges.show_privileges()
class Car(object):
def __init__(self,make,model,year):
"""初始化描述汽车的属性"""
self.make=make
self.model=model
self.year=year
self.odometer_reading=0
self.miles=0
def get_desprective_name(self):
"""返回整洁的描述性信息"""
long_name=str(self.year)+' '+self.make+' '+self.model
return long_name.title()
def read_odometer(self):
"""打印条指出汽车里程的消息"""
print("This car has "+str(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 roll back an odometer!")
def increment_odometer(self,miles):
"""将里程表读数增加指定的量"""
if miles>=self.miles:
self.odometer_reading+=miles
else:
print("You can't add the miles which is negative number!")
def fill_gas_tank(self):
print("This car have a gas tank")
class Battery():
"""一次模拟电动汽车电瓶的简单尝试"""
def __init__(self,battery_size=70):
"""初始化电瓶的属性"""
self.battery_size=battery_size
def describe_battery(self):
"""打印一条描述电瓶容量的信息"""
print("This car has a "+str(self.battery_size)+"-kwh battery.")
def get_range(self):
"""打印一条信息,指出电瓶的续航里程"""
if self.battery_size==70:
range=240
elif self.battery_size==85:
range=270
message="This car can go approximately "+str(range)
message+=" miles on a full charge."
print(message)
def upgrade_battery(self):
if self.battery_size!=85:
self.battery_size=85
class ElectricCar(Car):
def __init__(self,make,model,age):
super(ElectricCar,self).__init__(make,model,age)
self.battery=Battery()
def fill_gas_tank(self):
print("This car doesn't have a gas tank!")
my_elsctic=ElectricCar('tesla','model s','2016')
print(my_elsctic.get_desprective_name())
my_elsctic.battery.describe_battery()
my_elsctic.battery.get_range()
my_elsctic.battery.upgrade_battery()
my_elsctic.battery.get_range()
my_elsctic.fill_gas_tank()
class Restaurant():
"""餐馆类,定义餐馆两个属性:
restaurant_name
cuisine_type
"""
def __init__(self,restaurant_name,cuisine_type):
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print("餐厅名字:" + self.restaurant_name)
print("主打菜系:" + self.cuisine_type)
def open_restaurant(self):
print("餐厅正在营业!欢迎就餐")
from res import Restaurant
my_res = Restaurant('川味坊','川菜')
my_res.describe_restaurant()
class User(object):
def __init__(self, first_name, last_name, age, phone_number):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.phone_number = phone_number
def describe_user(self):
full_name = self.first_name + " " + self.last_name
print(full_name + " is " + str(
self.age) + " years old,and he's phone number is " + str(self.phone_number) + ".")
def greet_user(self):
full_name = self.first_name + " " + self.last_name
print("Hello," + full_name + " !")
class Admin(User):
def __init__(self, first_name, last_name, age, phone_number):
super(Admin, self).__init__(first_name, last_name, age, phone_number)
self.privileges = Priviliges()
class Priviliges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("The power of admin are:")
for privilege in self.privileges:
print(privilege)
from user import Admin,Priviliges
my_admin = Admin('张','三',27,15000000000)
my_admin.describe_user()
my_admin.privileges.show_privileges()
class User(object):
def __init__(self, first_name, last_name, age, phone_number):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.phone_number = phone_number
def describe_user(self):
full_name = self.first_name + " " + self.last_name
print(full_name + " is " + str(
self.age) + " years old,and he's phone number is " + str(self.phone_number) + ".")
def greet_user(self):
full_name = self.first_name + " " + self.last_name
print("Hello," + full_name + " !")
class Priviliges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("The power of admin are:")
for privilege in self.privileges:
print(privilege)
from priviliges import Priviliges
from user import User
class Admin(User):
def __init__(self, first_name, last_name, age, phone_number):
super(Admin, self).__init__(first_name, last_name, age, phone_number)
self.privileges = Priviliges()
from admin import Admin
my_admin = Admin('张','三',30,19011111111)
my_admin.privileges.show_privileges()
my_admin.describe_user()
from collections import OrderedDict
standard_dicts = OrderedDict()
standard_dicts['shorted'] = '排序'
standard_dicts['break'] = '排序'
standard_dicts['del'] = '排序'
standard_dicts['if'] = '排序'
standard_dicts['for'] = '排序'
for name,translation in standard_dicts.items():
print(name + '的汉译:' + translation)