1. #第一个关于类的作业 ---餐厅类
    2. class Restaurant:
    3. '''这是一个关于餐厅的类的练习'''
    4. restaurant_name = ''
    5. cooking_type = '烧烤餐吧'
    6. def ribe_restaurant(self):
    7. print(Restaurant.cooking_type) ####打印餐厅的烹饪风格
    8. print(Restaurant.restaurant_name) #打印餐厅的名字
    9. def open_restaurant(self):
    10. print('该餐厅正在营业')
    11. restaurant = Restaurant()
    12. restaurant.open_restaurant()
    13. restaurant.ribe_restaurant()
    14. #这是第二个关于累的作业 --- User类
    15. class User:
    16. '''这是第二个类 关于用户的类的练习'''
    17. first_name = '' #这是第一个名字
    18. last_name = '小高' #这是最后的名字
    19. sex = '男'
    20. hobby = 'swimming'
    21. birthday = '1995.10.22'
    22. def describe_user(self):
    23. print('用户曾用名{},最后的名字是{},性别{},爱好是{},出生年月是{}'.format(User.first_name,User.last_name,self.sex,self.hobby,self.birthday)) #这个地方可以用类调用属性,也可以用对象 也可以使用self就是对象本身
    24. def greet_user(self,*args):
    25. print('{},您好,非常欢迎您'.format(User.last_name))
    26. user1 = User()
    27. user1.describe_user() #在测试的时候发现有个问题,就是写了descibe_user 但是没有加上() 所以就没有调用
    28. user1.greet_user()
    29. class Phone:
    30. '''这个是手机的类别,包含手机的属性以及手机的方法'''
    31. # color = 'white'
    32. # price = '4500'
    33. # brand = 'oppo'
    34. # size = '5.5'
    35. ###### 参数化-魔法方法 --初始化方法
    36. def __init__(self, color, price, brand, size):#(类里面创建了初始化方法,再创建对象的时候就需要传对应个数的参数)初始化方法,也是可以给默认值得,比如size=6.5
    37. self.color = color #这里的self.color只是一个变量名 也可以写成self.x self.y ,写成color是为了见名知意
    38. self.price = price
    39. self.brand = brand
    40. self.size = size
    41. # 打电话
    42. # 发短信
    43. # 看电视
    44. # 拍照
    45. @classmethod
    46. def call(cls,tel_no):
    47. print('拨号{}'.format(tel_no))
    48. def send_message(self,tel_no,content='早上好'):
    49. print('可以给{}发短信,短信的内容是{}'.format(tel_no,content))
    50. def watch_tv(self,*args):
    51. app = ''
    52. for item in args:
    53. app += item
    54. app += '、'
    55. print('我们可以使用{}等App观看视频'.format(app))
    56. def take_shot(self):
    57. print('可以提供拍照')
    58. def phone_info(self):
    59. print('手机的颜色是{},价格是{},品牌是{},尺寸是{}'.format(self.color,self.price,self.brand,self.size))
    60. t = Phone('red','6000','oppo','6.5') #t = Phone('red','6000','oppo','6.5')
    61. t.call('123456789')
    62. t.send_message(123456,'hello')
    63. t.watch_tv('优酷',"爱奇艺",'西瓜视频')
    64. print(t.phone_info())
    65. # 没有初始化方法的时候,写完类的属性,创建对象的时候,比如函数phone_info 直接对象调用就好了,可以写成:t = Phone();
    66. # 但是如果是有初始化方法的时候,再创建对象的时候,就必须传对应的参数如:t = Phone('red','6000','oppo','6.5')