中小学网站建设规范,网站建设的市场定位,广州市专业做商城网站,德语网站域名函数和类的参数传递
实例方法
class House:# 类构造方法#xff0c;也是实例方法def __init__(self, area, price):self.area areaself.price pricedef cls_func(self, arg):print(arg)my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数
print(f…函数和类的参数传递
实例方法
class House:# 类构造方法也是实例方法def __init__(self, area, price):self.area areaself.price pricedef cls_func(self, arg):print(arg)my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数
print(f类属性, my_house.price:{my_house.price}, my_house.area:{my_house.area})
my_house.cls_func(通过实例化后的类对象调用类方法忽略self)
House.cls_func(my_house, 通过未实例化的类名调用实例方法,需要给self传递实例化后的类对象名)类方法
class House:# 类构造方法也是实例方法def __init__(self, area, price):self.area areaself.price priceclassmethoddef cls_func(cls, arg):print(f类方法:{cls})print(f类方法中第二个参数{arg})House.cls_func(我是类方法的第二参数)
my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数
print(f类属性, my_house.price:{my_house.price}, my_house.area:{my_house.area})
my_house.cls_func(通过实例化后的类对象调用类方法忽略cls)
House.cls_func(my_house, 类方法的调用不同于实例方法无需传入实例化对象作为第一参数)静态方法
class House:# 类构造方法也是实例方法def __init__(self, area, price):self.area areaself.price pricestaticmethoddef stat_func(arg):print(f静态方法中参数{arg})# print(self.area) # 语法错误静态方法中没有selfHouse.stat_func(未通过实例化直接类名调用静态方法不需要传入实例化对象作为第一参数)
my_house House(America, 330) # 实例化类对象,需要传入init中的两个参数
print(f类属性, my_house.price:{my_house.price}, my_house.area:{my_house.area})
my_house.stat_func(通过实例化后的类对象调用静态方法)
House.stat_func(my_house, 静态方法的调用不同于实例方法无需传入实例化对象作为第一参数)类与类的实例化对象、类方法与类的属性、类实例化的方法与属性、初始化函数、类的继承与重写、property、私有属性与方法 类方法与类的属性结合使用 方法一调用类方法与类的属性的结合。
class Robot():macaron 20cannele 15cheese_bread 23#以上为类的属性def welcome_supermarket():print(你好欢迎来到超市的面包区)def pick_one():print(我们热销有三款面包哦欢迎选购~)def payment():print(收银台在这里欢迎下次光临~)#以上为类的方法#打印类的属性
print(Robot.macaron)
print(Robot.cannele)
print(Robot.cheese_bread)#调用类的方法
Robot.welcome_supermarket()
Robot.pick_one()
Robot.payment()方法二注意 如果类中的函数不需要类中的变量时就不要用classmethod、cls、cls. 三处格式否则也会报错。
class ClassA():var1 100var2 200classmethod #类方法classmethod声明了func1是类方法这样子才允许func1使用类属性中的数据。def func1(cls): # class的缩写如果func1想使用类的属性就要写上cls作为func1的第一个参数也就是把这个类作为参数传给自己# 这样就能被允许使用类中的数据。print(cls.var1)print(cls.var2)ClassA.func1()Python学习内部类内部类调用外部类属性方法Python对象作为参数传递到函数/方法的机制Python类三种方法函数传参类与实例变量(一)