##类基础学习
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标准库