python 学习day 7

1、代码学习部分

class Restaurant():
    def __init__(self,restaurant_name,cuisine_name):
        self.restaurant_name=restaurant_name     #第一个restaurant_name是定义的变量 第二个是形参
        self.cuisine_name=cuisine_name

    def describe_restaurant(self):
        print("The name of restaurant is "+self.restaurant_name, "Food type is "+self.cuisine_name)

    def open_restaurant(self):
        print("The restaurant is open.")

restaurant=Restaurant('zhongcanting','Chinese food')
restaurant.describe_restaurant()
restaurant.open_restaurant()



class Restaurant():
    def __init__(self,restaurant_name,cuisine_name):
        self.restaurant_name=restaurant_name
        self.cuisine_name=cuisine_name

    def describe_restaurant(self):
        print("The name of restaurant is "+self.restaurant_name, "Food type is "+self.cuisine_name)

    def open_restaurant(self):
        print("The restaurant is open.")
restaurant1=Restaurant('zhongcanting','Chinese food')
restaurant2=Restaurant('western restaurant','western food')
restaurant3=Restaurant('Michelin','western food')
restaurant1.describe_restaurant()
restaurant2.describe_restaurant()
restaurant3.describe_restaurant()


class User():
    def __init__(self,first_name,last_name):
        self.first_name=first_name
        self.last_name=last_name

    def describe_user(self):
        print("Your full name is "+self.first_name+self.last_name)

    def greet_user(self):
        print("Good morning, "+self.first_name+self.last_name)

user=User('zhang','yongkang')
user.describe_user()
user.greet_user()


#9.2节 使用类和实例
class Restaurant():
    def __init__(self,restaurant_name,cuisine_name):
        self.restaurant_name=restaurant_name     #第一个restaurant_name是定义的变量 第二个是形参
        self.cuisine_name=cuisine_name
        self.number_served=0
    def describe_restaurant(self):
        print("The name of restaurant is "+self.restaurant_name, "Food type is "+self.cuisine_name)

    def open_restaurant(self):
        print("The restaurant is open.")

    def set_number_served(self,number_updated):
        self.number_served=number_updated

    def increment_number_served(self,increment):
        self.number_served+=increment

restaurant=Restaurant('zhongcanting','Chinese food')
print("The number served in the restautant is "+str(restaurant.number_served)+".")
restaurant.number_served=3
print("The number served in the restautant is "+str(restaurant.number_served)+".")
restaurant.set_number_served(6)
print("The number served in the restautant is "+str(restaurant.number_served)+".")
restaurant.increment_number_served(10)
print("The number served in the restautant is "+str(restaurant.number_served)+".")




class User():
    def __init__(self,first_name,last_name):
        self.first_name=first_name
        self.last_name=last_name
        self.login_attempts=0

    def describe_user(self):
        print("Your full name is "+self.first_name+self.last_name)

    def greet_user(self):
        print("Good morning, "+self.first_name+self.last_name)

    def increment_login_attempts(self):
        self.login_attempts+=1

    def reset_login_attempts(self):
        self.login_attempts=0


user=User('zhang','yongkang')        #创建实例
user.increment_login_attempts()
user.increment_login_attempts()
user.increment_login_attempts()
user.increment_login_attempts()
print("The number of login_attempt is "+str(user.login_attempts))
user.reset_login_attempts()
print("The number of login_attempt is "+str(user.login_attempts))

#继承
class Restaurant():
    def __init__(self,restaurant_name,cuisine_name,icecream_name):
        self.restaurant_name=restaurant_name     #第一个restaurant_name是定义的变量 第二个是形参
        self.cuisine_name=cuisine_name
        self.number_served=0
        self.flavors=icecream_name
    def describe_restaurant(self):
        print("The name of restaurant is "+self.restaurant_name, "Food type is "+self.cuisine_name)

    def open_restaurant(self):
        print("The restaurant is open.")

    def set_number_served(self,number_updated):
        self.number_served=number_updated

    def increment_number_served(self,increment):
        self.number_served+=increment

    def describe_icecream(self):
        print(self.flavors)

class IceCreamStand(Restaurant):
    def __init__(self,restaurant_name,cuisine_name,icecream_name):
        super().__init__(restaurant_name,cuisine_name,icecream_name)

printed_icecream=IceCreamStand('zhongcanting','Chinese food','shengdai')
print(printed_icecream.flavors)


class User():
    def __init__(self,first_name,last_name):
        self.first_name=first_name
        self.last_name=last_name
        self.login_attempts=0
        self.privileges = ['can add post', 'can delete post', 'can ban user']
    def describe_user(self):
        print("Your full name is "+self.first_name+self.last_name)

    def greet_user(self):
        print("Good morning, "+self.first_name+self.last_name)

    def increment_login_attempts(self):
        self.login_attempts+=1

    def reset_login_attempts(self):
        self.login_attempts=0

    def show_Privileges(self):
        print(self.privileges)

class Admin(User):
    def __init__(self,first_name,last_name):
        super().__init__(first_name,last_name)

privileges_show=Admin('zhang','yongkang')
privileges_show.show_Privileges()

#9-8 权限
class Privileges():
    def __init__(self):
        self.Privileges=['can add post', 'can delete post', 'can ban user']

    def show_Privileges(self):
        print(self.privileges)

class Admin(User):
    def __init__(self,first_name,last_name):
        super().__init__(first_name,last_name)
        self.showPrivileges=Privileges()               #实例用作属性

privileges_show=Admin('zhang','yongkang')
privileges_show.show_Privileges()

#9-9电瓶升级
#略


#9.4 导入类
from restaurant import Restaurant
restaurant=Restaurant('zhongcanting','Chinese food','shengdai')
restaurant.describe_restaurant()

from users import User,Admin,Privileges
privileges_show=Admin('zhang','yongkang')
privileges_show.show_Privileges()

 

2、学习疑问与心得

2.1、在Python中,首字母大写的名称指的是类,模块名誉实例名都用小写

2.2、类中的函数称为方法

2.3、创建实例:my_dog=Dog('While',6)      通产可以认为首字母大写的名称是类  而小写的名称(例如my_dog)是根据类 创建的实例

2.4、创建子类时,父类必须包含在当前文件中

2.5、对于每个类,都应紧跟在类定义后面包含一个文档字符串,(即三个引号圈起来的那段文字)简短地描述类的功能。每个模块也都应包含一个文档字符串

 

上一篇:预订餐位


下一篇:zoj3469——区间dp好题