当前位置: 首页 > news >正文

Python类学习(2)——未完待续

  1. 函数和类的参数传递

实例方法

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 = price@classmethoddef 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 = price@staticmethoddef 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, '静态方法的调用,不同于实例方法,无需传入实例化对象作为第一参数')
  1. 类与类的实例化对象、类方法与类的属性、类实例化的方法与属性、初始化函数、类的继承与重写、@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 = 200@classmethod  #类方法,@classmethod声明了func1是类方法,这样子才允许func1使用类属性中的数据。def func1(cls):  # class的缩写,如果func1想使用类的属性,就要写上cls作为func1的第一个参数,也就是把这个类作为参数传给自己,# 这样就能被允许使用类中的数据。print(cls.var1)print(cls.var2)ClassA.func1()
  1. Python学习:内部类,内部类调用外部类属性,方法
  2. Python对象作为参数传递到函数/方法的机制
  3. Python类三种方法,函数传参,类与实例变量(一)
http://www.lryc.cn/news/456251.html

相关文章:

  • 微前端框架 qiankun 全面解析到源码实现
  • 初始化数据的正确方式?
  • Flutter平台嵌入器
  • 微信小程序——婚礼邀请函
  • WebRTC Connection Negotiate解决
  • Redis面试篇1
  • Debezium系列之:Debezium 3.0.0.Final发布
  • 一文解决jQuery表格插件DataTable导出PDF中文乱码问题
  • 使用pytorch进行迁移学习的两个步骤
  • ChatGPT相关参数示例
  • OWASP发布大模型安全风险与应对策略(QA测试重点关注)
  • 【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量
  • UI自动化测试示例:python+pytest+selenium+allure
  • C/C++ 编程小工具
  • 第四十二章 使用 WS-ReliableMessaging
  • 利士策分享,婚姻为何被称为大事?
  • malloc源码分析之 ----- 你想要啥chunk
  • 软考系统分析师知识点五:数据通信与计算机网络
  • windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)
  • Python 工具库每日推荐【openpyxl 】
  • 本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?
  • ML 系列:【13 】— Logistic 回归(第 2 部分)
  • 45岁被裁员的程序员,何去何从?
  • 云计算Openstack Neutron
  • PointNet++网络详解
  • Java | Leetcode Java题解之第459题重复的子字符串
  • 【动态规划-最长公共子序列(LCS)】【hard】力扣1092. 最短公共超序列
  • ‌图片编辑为底片,智能工具助力,创作精彩视觉作品
  • 机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
  • 回溯算法之值子集和问题详细解读(附带Java代码解读)