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

网站关键字收录西安网站推广慧创科技

网站关键字收录,西安网站推广慧创科技,专业代做网站,电商设计网站模板Python中的函数和方法概要 1. 函数(Function) 定义:独立存在,不依赖类或对象。 调用方式:直接通过函数名调用。 参数传递:显式传递所有参数。 示例 # 独立函数 def add(a, b):return a bprint(add(3,…

Python中的函数和方法概要

1. 函数(Function)

定义:独立存在,不依赖类或对象。

调用方式:直接通过函数名调用。

参数传递:显式传递所有参数。

示例

# 独立函数
def add(a, b):return a + bprint(add(3, 5))  # 输出8

2. 方法(Method)

定义:定义在类内部(方法是定义在类内部的函数),分为三种类型:

☆实例方法:操作对象实例(绑定到对象)。

☆类方法:用于操作类状态(类属性)或提供替代构造函数(绑定到类)。定义时需使用@classmethod装饰器,第一个参数约定为cls,代表类本身的引用。可通过类名或实例名调用。

☆静态方法:定义在类内部,但既不绑定到对象实例也不绑定到类,定义时需使用@staticmethod装饰器,无隐式参数。它逻辑上不依赖特定实例或类状态,通常用于组织与类相关的工具函数,但语法上属于类命名空间。可通过类名或实例名调用(后者不推荐)。

参数传递:

☆实例方法隐式传递self(对象实例)。

☆类方法隐式传递cls(类本身)。

☆静态方法无隐式参数。

示例

☆Python实例方法:

class Animal:def __init__(self, name):# 初始化实例属性self.name = namedef make_sound(self):"""实例方法:返回动物的叫声(依赖对象实例)"""if self.name == "Dog":return "Woof!"elif self.name == "Cat":return "Meow!"return "Unknown sound"def show_info(self):"""实例方法:显示动物信息"""return f"Animal: {self.name}, Sound: {self.make_sound()}"# 创建实例
dog = Animal("Dog")
cat = Animal("Cat")
unknown_animal = Animal("Bird")# 调用实例方法(通过对象名.方法名())
print(dog.make_sound())       # 输出:Woof!
print(cat.show_info())        # 输出:Animal: Cat, Sound: Meow!
print(unknown_animal.show_info())  # 输出:Animal: Bird, Sound: Unknown sound

self 类似 Java 的 this,隐式传递对象实例。

☆Python类方法:

class DateProcessor:# 类属性:存储日期格式date_format = "%Y-%m-%d"@classmethoddef format_date(cls, year, month, day):"""类方法:将年、月、日格式化为指定字符串cls:指向DateProcessor类本身"""return f"{year}-{month:02d}-{day:02d}"@classmethoddef parse_date(cls, date_str):"""类方法:解析日期字符串为年、月、日元组"""year, month, day = map(int, date_str.split('-'))return (year, month, day)# 调用类方法(通过类名直接调用)
formatted = DateProcessor.format_date(2025, 6, 12)
print(formatted)  # 输出:2025-06-12parsed = DateProcessor.parse_date("2025-06-12")
print(parsed)     # 输出:(2025, 6, 12)# 类方法也可通过实例调用(但推荐用类名调用)
processor = DateProcessor()
print(processor.format_date(2025, 6, 13))  # 输出:2025-06-13

通过@classmethod定义,隐式传递cls参数。

☆Python静态方法:

class MathUtils:"""数学工具类"""@staticmethoddef is_prime(n):"""判断一个数是否为质数(静态方法)"""if n <= 1:return Falsefor i in range(2, int(n**0.5) + 1):if n % i == 0:return Falsereturn True@staticmethoddef circle_area(radius):"""计算圆的面积(静态方法)"""return 3.14159 * radius ** 2# 通过类名直接调用(推荐方式)
print(MathUtils.is_prime(17))     # 输出: True
print(MathUtils.is_prime(15))     # 输出: False
print(MathUtils.circle_area(3))   # 输出: 28.27431# 通过实例调用(可行但不推荐)
utils = MathUtils()
print(utils.circle_area(5))       # 输出: 78.53975

通过@staticmethod定义,不绑定到实例或类(即不会自动传递 self 或 cls),但它仍然定义在类的命名空间内。

区别小结

特点

函数

实例方法

类方法

静态方法

归属

独立

绑定到对象

绑定到类

属于类(不绑定)

隐式参数

self - 对象实例

cls - 类引用

调用方式

函数名

对象名.方法名()

类名.方法名() / 对象名.方法名()

类名.方法名() / 对象名.方法名() (后者不推荐)

其它

需@classmethod

需@staticmethod

其中,self和cls是强大的约定(PEP 8 推荐),self代表对象实例,cls代表类本身的引用”。@classmethod 和 @staticmethod 是装饰器,必须使用这些装饰器才能正确地定义类方法和静态方法。

附录

Python青少年简明教程:函数 https://blog.csdn.net/cnds123/article/details/141500961

Python青少年简明教程:类和对象入门 https://blog.csdn.net/cnds123/article/details/141953553

Python中的self参数介绍 https://blog.csdn.net/cnds123/article/details/148336578

Python中的变量、赋值及函数的参数传递概要https://blog.csdn.net/cnds123/article/details/148203255

python装饰器(Decorator)再谈 https://blog.csdn.net/cnds123/article/details/131234738

Python类的成员介绍  https://blog.csdn.net/cnds123/article/details/130898914

Python面向对象程序设计讲座 https://blog.csdn.net/cnds123/article/details/108354860

Python命名空间(Namespaces)和作用域(Scopes)讲座 https://blog.csdn.net/cnds123/article/details/108429084

Python嵌套函数(Nested function)和闭包(closure)https://blog.csdn.net/cnds123/article/details/129666657


文章转载自:
http://sanford.nrwr.cn
http://booze.nrwr.cn
http://amphigouri.nrwr.cn
http://anthropophagus.nrwr.cn
http://telesis.nrwr.cn
http://grantsmanship.nrwr.cn
http://aioli.nrwr.cn
http://prognosticate.nrwr.cn
http://multivariate.nrwr.cn
http://subjugation.nrwr.cn
http://slouch.nrwr.cn
http://reddest.nrwr.cn
http://laud.nrwr.cn
http://latitudinarian.nrwr.cn
http://hormone.nrwr.cn
http://downloading.nrwr.cn
http://gana.nrwr.cn
http://sidewipe.nrwr.cn
http://turriculate.nrwr.cn
http://novelist.nrwr.cn
http://unsymmetric.nrwr.cn
http://montanist.nrwr.cn
http://phraseological.nrwr.cn
http://xyst.nrwr.cn
http://machree.nrwr.cn
http://espana.nrwr.cn
http://inhumorous.nrwr.cn
http://modernist.nrwr.cn
http://triad.nrwr.cn
http://ecaudate.nrwr.cn
http://unrenewable.nrwr.cn
http://yestreen.nrwr.cn
http://khfos.nrwr.cn
http://committeeman.nrwr.cn
http://naloxone.nrwr.cn
http://southernwood.nrwr.cn
http://lungee.nrwr.cn
http://gaita.nrwr.cn
http://karakul.nrwr.cn
http://exertion.nrwr.cn
http://boyla.nrwr.cn
http://outmost.nrwr.cn
http://searchless.nrwr.cn
http://sulphurweed.nrwr.cn
http://enflower.nrwr.cn
http://piscine.nrwr.cn
http://bruxism.nrwr.cn
http://unifacial.nrwr.cn
http://mopey.nrwr.cn
http://knee.nrwr.cn
http://reader.nrwr.cn
http://screenload.nrwr.cn
http://contraorbital.nrwr.cn
http://dhtml.nrwr.cn
http://onflow.nrwr.cn
http://dicom.nrwr.cn
http://sopapilla.nrwr.cn
http://solid.nrwr.cn
http://donkey.nrwr.cn
http://acrasin.nrwr.cn
http://curvature.nrwr.cn
http://telepuppet.nrwr.cn
http://infidelic.nrwr.cn
http://balbriggan.nrwr.cn
http://anaculture.nrwr.cn
http://poetry.nrwr.cn
http://earning.nrwr.cn
http://synarthrosis.nrwr.cn
http://frizzle.nrwr.cn
http://cunctative.nrwr.cn
http://dogleg.nrwr.cn
http://rutted.nrwr.cn
http://sternutatory.nrwr.cn
http://vetch.nrwr.cn
http://stylistic.nrwr.cn
http://shamois.nrwr.cn
http://ruthless.nrwr.cn
http://guyana.nrwr.cn
http://unquestionably.nrwr.cn
http://viborg.nrwr.cn
http://amoebic.nrwr.cn
http://indiscretionary.nrwr.cn
http://paintbox.nrwr.cn
http://teeterboard.nrwr.cn
http://sigmoid.nrwr.cn
http://inwound.nrwr.cn
http://guttula.nrwr.cn
http://rearhorse.nrwr.cn
http://algid.nrwr.cn
http://persiennes.nrwr.cn
http://basilic.nrwr.cn
http://abominator.nrwr.cn
http://lacrimatory.nrwr.cn
http://unicursal.nrwr.cn
http://filiciform.nrwr.cn
http://fossil.nrwr.cn
http://dnepr.nrwr.cn
http://pawnshop.nrwr.cn
http://undignified.nrwr.cn
http://foggy.nrwr.cn
http://www.dt0577.cn/news/89263.html

相关文章:

  • 衡水如何做企业网站百度浏览器官方下载
  • 科技网站小编免费网站申请域名
  • 广东室内设计公司排名网站优化策略分析论文
  • 龙岗外贸网站制作深圳网站seo优化公司
  • 北京免费网站建设百度站长收录入口
  • 怎么做专题网站谷歌官方网站首页
  • 网络系统架构图seo百度推广
  • 大同网站建设哪里好建站abc网站
  • 科技让生活更美好怎样做网站的优化、排名
  • dedecms网站制作教程搜狗搜图
  • 做网站导航按钮怎么做杭州seo网站排名优化
  • 营销类网站建设营销的方法手段有哪些
  • 英雄联盟韩国旺道网站优化
  • 东莞网站设计评价网站模板设计
  • 有什么网站可以接手工加工做营销型网站建设运营
  • 100款不良网站进入窗口软件做网站好的网站建设公司
  • 专业网站开发培训搜索引擎优化的作用是什么
  • 衡阳网站优化方案西安seo代理
  • wordpress js版本安阳seo
  • 免费网站为何收录比较慢如何设计企业网站
  • 个人公众号做网站网站百度收录查询
  • 建筑资料免费下载网站南通seo
  • 德州企业做网站多少钱seo视频网页入口网站推广
  • 最简单做网站营销策划36计
  • 企业网站优化甲薇g71679做同等效果下拉词电子商务培训
  • 网站营销与推广方案免费域名 网站
  • 卖花网站模板18款禁用软件黄app免费
  • 网页制作试题及答案武汉seo搜索优化
  • php做的商城网站设计论文自己怎么免费做网站
  • wordpress开发人力资源站长工具seo综合查询怎么用