# -*- coding:utf-8 -*-
#li hongliang 2020年06月09日
#第9 章 类
#根据类来创建对象被称为实例化,这让你能够使用类的实例
#9.1 创建和使用类
#9.1.1 创建Dog 类
#根据约定,在Python中,首字母大写的名称指的是类。
#9.1.2 根据类创建实例:self.name = name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。self.age = age的作用与此类似。
#9-1 餐馆:创建一个名为Restaurant 的类,其方法__init__()设置两个属性:
#restaurant_name 和cuisine_type。创建一个名为describe_restaurant()的方法和一个
#名为open_restaurant()的方法,其中前者打印前述两项信息,而后者打印一条消息,
#指出餐馆正在营业。
#根据这个类创建一个名为restaurant 的实例,分别打印其两个属性,再调用前述两个方法。
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
"""初始化属性name和age"""
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
def describe_restaurant(self):
print('Restaurant_name is ' + self.restaurant_name.title())
print('Cuisine_type is ' + self.cuisine_type )
def open_restaurant(self):
print(self.restaurant_name.title()+ ' is openning')
restaurant = Restaurant('Qiao Jiangnan','Quick-fry')
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)
restaurant.describe_restaurant()
restaurant.open_restaurant()
#9-2 三家餐馆:根据你为完成练习9-1 而编写的类创建三个实例,并对每个实例调用方法describe_restaurant()。
print('\n')
restaurant1 = Restaurant('Bottom fishing','Boiled')
restaurant1.describe_restaurant()
print('\n')
restaurant2 = Restaurant('Xibei naked oats','Salad')
restaurant2.describe_restaurant()
print('\n')
restaurant3 = Restaurant('Jinxiang fried fish in pot','fried')
restaurant3.describe_restaurant()
#9-3 用户:创建一个名为User 的类,其中包含属性first_name 和last_name,还有
#用户简介通常会存储的其他几个属性。在类User 中定义一个名为describe_user()的方
#法,它打印用户信息摘要;再定义一个名为greet_user()的方法,它向用户发出个性化的问候。
#创建多个表示不同用户的实例,并对每个实例都调用上述两个方法。
class User():
def __init__(self,first_name,last_name,**user_info):
"""包含用户姓与名及其它几个属性"""
self.name = {} #定义空字典
self.first_name = first_name
self.last_name = last_name
for k,v in user_info.items():
self.name[k]= v #将所有字典值赋值给字典name,其实姓名也可以赋值到这个字典里面
def describe_user(self):
'''打印用户信息摘要'''
print('以下为用户的基本信息: ')
self.fullname = self.first_name + self.last_name
print('姓名:'+ self.fullname)
for key,value in self.name.items(): #使用字典里面的信息
print( key + ': '+str(value))
def greet_user(self):
print(self.first_name.title() + self.last_name.title() +' Welcome to join us')
print('\n')
user = User('li',' hongliang',occupation='test',phone='13202973253')
user.describe_user()
user.greet_user()
print('\n')
user1 = User('zhang',' haoyun',height=175,sex='malse',education='undergraduate')
user1.describe_user()
user1.greet_user()
版权声明:本文为m0_47456600原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。