python类定义方法参数位置问题

学习python类的时候,碰到下面两种定义方法,两个参数的位置一个括号内一个括号外不太明白,请问两种参数的位置有什么区别呢?


class ElectricCar(): 

    def __init__(self, make, model, year):
        self.battery_size = 75

class Bttery(): 

    def __init__(self, battery_size=75):
        self.battery_size = battery_size

你给的例子都在括号内呀

img

如果是说这个


class Bttery(): 
 
    def __init__(self, battery_size=75):
        # 这样的写法,意思是参数有缺省值。 如果用  b1 = Bttery() 的方式生成对象, 那 b1.battery_size  就是75
        # 如果用 b2 = Bttery(100) 的方式生成对象, 那 b2.battery_size  就是100
        self.battery_size = battery_siz

括号外表示的是函数内自定义的局部变量,只能由函数自身赋值给它来获得值。
括号内是表示函数的形参,由外界传递实参来获得值