##类基础学习 9.1、9.2
class Restaurant(): 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.title()+" 's food is very delicious.") print("It's a "+self.cuisine_type+" 's restaurant.") def open_restaurant(self): print(self.restaurant_name.title()+" are open.") my_restaurant=Restaurant('haidilao','hot pot') print(my_restaurant.restaurant_name.title()+" is open today.") print("It's a only one "+my_restaurant.cuisine_type+" in the city.") my_restaurant.describe_restaurant() my_restaurant.open_restaurant() my_wife_restaurant=Restaurant('meiman','company') my_brother_restaurant=Restaurant('shengdi','boite') my_son_restaurant=Restaurant('haosheng','multiple shop') my_wife_restaurant.describe_restaurant() my_brother_restaurant.describe_restaurant() my_son_restaurant.describe_restaurant()9.3
class User(): def __init__(self,first_name,last_name,age): self.first_name=first_name self.last_name=last_name self.age=age def describe_user(self): print(self.first_name.title()+" "+self.last_name.title()+" is " +str(self.age)+".") def greet_user(self): print("Hello,"+self.first_name.title()+" "+self.last_name.title()+"!") my_name=User('yiguang','jiang',22) my_name.describe_user() my_name.greet_user() her_name=User('feibi','red',20) her_name.describe_user () her_name.greet_user()9.4
class Restaurant(): 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.title()+" 's food is very delicious.") print("It's a "+self.cuisine_type+" 's restaurant.") def open_restaurant(self): print(self.restaurant_name.title()+" are open.") def number_served_restaurant(self): print("There are "+str(self.number_served)+" customers in " +self.restaurant_name+" today.") def set_number_served(self,set_number): self.number_served=set_number def increment_number_served(self,in_number): self.number_served+=in_number my_restaurant=Restaurant('haidilao','hot pot') print(my_restaurant.restaurant_name.title()+" is open today.") print("It's a only one "+my_restaurant.cuisine_type+" in the city.") my_restaurant.describe_restaurant() my_restaurant.open_restaurant() my_restaurant.set_number_served(68) my_restaurant.increment_number_served(100) my_restaurant.increment_number_served(99) my_restaurant.number_served_restaurant()9.5
class User(): def __init__(self,first_name,last_name,age): self.first_name=first_name self.last_name=last_name self.age=age self.login_attempts=0 def describe_user(self): print(self.first_name.title()+" "+self.last_name.title()+" is " +str(self.age)+".") def greet_user(self): print("Hello,"+self.first_name.title()+" "+self.last_name.title()+"!") def increment_login_attempts(self): self.login_attempts+=1 def reset_login_attempts(self): self.login_attempts=0 my_name=User('yiguang','jiang',22) my_name.increment_login_attempts() my_name.increment_login_attempts() my_name.increment_login_attempts() my_name.increment_login_attempts() my_name.increment_login_attempts() my_name.increment_login_attempts() print(my_name.login_attempts) my_name.reset_login_attempts() print(my_name.login_attempts)9.6
class Restaurant(): 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.title()+" 's food is very delicious.") print("It's a "+self.cuisine_type+" 's restaurant.") def open_restaurant(self): print(self.restaurant_name.title()+" are open.") def number_served_restaurant(self): print("There are "+str(self.number_served)+" customers in " +self.restaurant_name+" today.") def set_number_served(self,set_number): self.number_served=set_number def increment_number_served(self,in_number): self.number_served+=in_number my_restaurant=Restaurant('haidilao','hot pot') print(my_restaurant.restaurant_name.title()+" is open today.") print("It's a only one "+my_restaurant.cuisine_type+" in the city.") class IceCreamStand(Restaurant): def __init__(self,restaurant_name,cuisine_type): super().__init__(restaurant_name,cuisine_type) self.flavors=['blueberry','pomelo'] def customer_flavors(self): print("This is a "+self.flavors[0]+" icecream.") my_icecreamstand=IceCreamStand('hagendasi','dessert shop') my_icecreamstand.customer_flavors()9.7
class User(): def __init__(self,first_name,last_name,age): self.first_name=first_name self.last_name=last_name self.age=age self.login_attempts=0 def describe_user(self): print(self.first_name.title()+" "+self.last_name.title()+" is " +str(self.age)+".") def greet_user(self): print("Hello,"+self.first_name.title()+" "+self.last_name.title()+"!") def increment_login_attempts(self): self.login_attempts+=1 def reset_login_attempts(self): self.login_attempts=0 class Admin(User): def __init__(self,first_name,last_name,age): super().__init__(first_name,last_name,age) self.privileges=['can add post','can delete post','can ban user'] def show_privileges(self): for privilege in self.privileges: print("The admin'privileges have "+privilege) my_name=Admin('yiguang','jiang',22) my_name.show_privileges()9.8
class User(): def __init__(self,first_name,last_name,age): self.first_name=first_name self.last_name=last_name self.age=age self.login_attempts=0 def describe_user(self): print(self.first_name.title()+" "+self.last_name.title()+" is " +str(self.age)+".") def greet_user(self): print("Hello,"+self.first_name.title()+" "+self.last_name.title()+"!") def increment_login_attempts(self): self.login_attempts+=1 def reset_login_attempts(self): self.login_attempts=0 class Privileges(): def __init__(self,privileges=['can add post','can delete post','can ban user']): self.privileges=privileges def show_privileges(self): for privilege in self.privileges: print("The admin'privileges have "+privilege) class Admin(User): def __init__(self,first_name,last_name,age): super().__init__(first_name,last_name,age) self.privileges=Privileges() my_name=Admin('yiguang','jiang',22) my_name.privileges.show_privileges()9.9电瓶升级
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.title() def read_odometer(self): print("This car has "+str(self.odometer_reading)+" miles on it.") def update_odmeter(self,mileage): self.odometer_reading=mileage def increment_odometer(self,miles): self.odometer_reading+=miles class ElectricCar(Car): def __init__(self,make,model,year): super().__init__(make,model,year) self.battery=Battery() def fill_gas_tank(self): print("This car doesn't need 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+=" mile on a full charage." print(message) def upgrade_battery(self): if self.battery_size != 85: self.battery_size=85 mytesla = ElectricCar('tesla','model s',2016) mytesla.battery.get_range() mytesla.battery.upgrade_battery() mytesla.battery.get_range()9.10导入Restaurant类 先把写好的Restaurant类存储为restaurant.py
from restaurant import Restaurant my_restaurant=Restaurant('haidilao','hot pot') print(my_restaurant.restaurant_name.title()+" is open today.") print("It's a only one "+my_restaurant.cuisine_type+" in the city.")9.11导入Admin类 先把写好的Usert类存储为user.py
from user import Admin my_name=Admin('yiguang','jiang',22) my_name.privileges.show_privileges()9.12多个模块 先把写好的Usert类存储为user.py 再把import到admin文件中
from admin import Admin my_name=Admin('yiguang','jiang',22) my_name.privileges.show_privileges()9.13使用OrderedDic
from collections import OrderedDict dict=OrderedDict() dict={ 'while':'circulation', 'fuction':'def', 'mudule':'class', 'range':'number', 'language':'python', 'name_value':'items' } dict['print']='output' dict['datascience']='mysql' dict['list']='liebiao' for key,value in dict.items(): print(key+ ':'+value)9.14骰子
from random import randint class Die(): def __init__(self,sides=6): self.sides=sides def roll_die(self,throw_number): for i in range(throw_number): print(randint(1,self.sides)) my_die=Die(6) my_die.roll_die(10) my_die=Die(10) my_die.roll_die(10) my_die=Die(20) my_die.roll_die(10)9.15Python Module of the Week 访问http://pymotw.com/查看Python标准库