Python 基础学习——类

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值