winmeanyoung 2019-11-10
1、创建一个狗类,初始化有名字和年龄,创建两个方法蹲下和打滚,然后分别调用这两个狗的属性和方法
class Dog():
def __init__(self,name,age):
self.name =name
self.age =age
def dunxia(self):
print(self.name.title() + " now dun xia !")
def dagun(self):
print(self.name.title() + " now da gun !")
my_dog = Dog(‘xiao ji‘, 6)
you_dog = Dog("da ji ",8)
print("My dog‘s name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")
my_dog.name
my_dog.dunxia()
my_dog.dagun()
print("My dog‘s name is " + you_dog.name.title() + ".")
print("My dog is " + str(you_dog.age) + " years old.")
you_dog.name
you_dog.dunxia()
you_dog.dagun()2、餐馆 :
创建一个名为 Restaurant 的类,其方法 __init__() 设置两个属性: restaurant_name 和 cuisine_type 。创建一个名
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 + "主题餐厅")
print(self.cuisine_type + "各种豪华满汉全席")
def open_restaurant(self,number_served):
print(self.restaurant_name + "正在营业。")
def read_number(self):
print("现在营业有"+str(self.number_served) + "人")
def set_number_served(self,sets):
self.number_served= sets
print("设置的就餐人数是 "+ str(sets) +" 人")
def increment_number_served(self,adds):
self.number_served +=adds
print("增加的就餐人数是 " + str(adds) +" 人")
restaurant = Restaurant("好吃不贵","[‘饺子‘,‘面条‘,‘炒饼‘,‘炒面‘,‘盖饭‘]")
restaurant.restaurant_name
restaurant.cuisine_type
restaurant.describe_restaurant()
restaurant.open_restaurant(5)
#2、 三家餐馆 :编写的类创建三个实例,并对每个实例调用方法 describe_restaurant() 。
restaurant = Restaurant("山西面馆","刀削面等")
restaurant.describe_restaurant()
restaurant = Restaurant("山东面馆","油条等")
restaurant.describe_restaurant()
restaurant = Restaurant("陕西面馆","咸菜等")
restaurant.describe_restaurant()
#调用设置人数,增加人数,查看现在的总人数
restaurant.set_number_served(100)
restaurant.read_number()
restaurant.increment_number_served(150)
restaurant.read_number()
3、
用户 :创建一个名为 User 的类,其中包含属性 first_name 和 last_name ,还有用户简介通常会存储的其他几个属性。在类 User 中定义一个名
为 describe_user() 的方法,它打印用户信息摘要;再定义一个名为 greet_user() 的方法,它向用户发出个性化的问候。
创建多个表示不同用户的实例,并对每个实例都调用上述两个方法。
尝试登录次数 :在User 类中,添加一个名为 login_attempts 的属性。编写一个名为 increment_login_attempts() 的方法,
它将属性 login_attempts 的值加 1 。再编写一个名为 reset_login_attempts() 的方法,它将属性 login_attempts 的值重置为 0 。
根据 User 类创建一个实例,再调用方法 increment_login_attempts() 多次。打印属性 login_attempts 的值,确认它被正确地递增;然后,调用方
法 reset_login_attempts() ,并再次打印属性 login_attempts 的值,确认它被重置为 0 。
class User():
def __init__(self,first_name,last_name,login_attempts):
self.first_name = first_name
self.last_name =last_name
self.login_attempts = login_attempts
def describe_user(self,qq,phonenumber,address):
self.qq=qq
self.phonenumber=phonenumber
self.address=address
print("user qq is "+str(qq),"user phonenumber is "+str(phonenumber),"user address is"+ address)
def greet_user(self):
print(self.first_name + self.last_name + " hello welcome to china !")
def read_count(self):
print("now count is " + str(self.login_attempts))
def increment_login_attempts(self):
m1=self.login_attempts + 1
print("add after is "+ str(m1))
def reset_login_attempts(self):
reset =self.login_attempts=0
print("reset count is " + str(reset))
user1=User("李","小龙",10)
user2=User("张","小龙",20)
user1.describe_user(123456,13365678689,"北极")
user1.greet_user()
user2.describe_user(98077,13889775345,"南极")
user2.greet_user()
#调用增加和重置
user1.increment_login_attempts()
user1.reset_login_attempts()
user1.read_count()
user2.increment_login_attempts()
user2.reset_login_attempts()
user2.read_count()class Singleton: def __new__: # 关键在于这,每一次实例化的时候,我们都只会返回这同一个instance对象 if not hasattr: cls.instance =