为什么要编写函数?
代码思路更加清晰
有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任
意数量的实参。
形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值都封
装到这个元组中。
形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所
有名称—值对都封装到这个字典中。在这个函数中,可以像访问其他字典那样访问user_info中的
名称—值对。
翻译:一个星号创造元组,位置实参,两个星号创造字典,关键字实参,两星号必须键值对
根据类来创建对象被称为
实例化,这让你能够使用类的实例。
方法
__init__()
是一个特殊的方法,每当你根据
Dog
类创建新实
例时,
Python
都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约
定,旨在避免
Python
默认方法与普通方法发生名称冲突。
小问题: init函数想要传入多个不定数量的数量形参,怎么办?
类中的每个属性都必须有初始值,哪怕这个值是
0
或空字符串。在有些情况下,如设置默认
值时,在方法
__init__()
内指定这种初始值是可行的;如果你对某个属性这样做了,就无需包含
为它提供初始值的形参
class Car():
def __init__(self, make, model, year):
"""初始化描述汽车的属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0