鱼C论坛

 找回密码
 立即注册
查看: 1850|回复: 3

关于python创建类的问题

[复制链接]
发表于 2017-12-2 22:48:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. class Restaurant():
  2.     """A class representing arestaurant."""
  3.     def __init__(self,name,cuisine_type):
  4.         self.name=name.title()
  5.         self.cuisine_type = cuisine_type
  6.         self.number_served = 0

  7.     def describe_restaurant(self):
  8.         msg=self.name +"serves wonderful " +self.cuisine_type +"."
  9.         print("\n"+msg)

  10.     def open_restaurant(self):
  11.         msg =self.name +"is open. Come on in !"
  12.         print("\n"+msg)

  13.     def set_number_served(self,number_served):
  14.         """设置用餐人数"""
  15.         self.number_served=number_served

  16.     def increment_number_served(self,additional_served):
  17.         """增加用餐人数"""
  18.         self.number_served +=additional_served
复制代码



1.为什么这里面的number_served这个变量不用添加进def __init__(self,name,cuisine_type)里面呢?

2.不是说类的每个属性都必须有初始值吗?
self.name=name.title()
self.cuisine_type = cuisine_type

那这两个不是没有初始值吗?为什么也可以?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-3 00:09:28 | 显示全部楼层
这是python!

= 具有定义和赋值双重功能
对象的属性随时随地可以任意添加和赋值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 08:15:18 From FishC Mobile | 显示全部楼层
python中的属性可以在任何类函数没直接定义和初始化
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-3 08:43:45 From FishC Mobile | 显示全部楼层
相当于在init方法 下给一个变量赋值吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-7 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表