python中函数定义1、函数定义
①使用def关键字定义函数
②
def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能 。
③遇到冒号要缩进 , 冒号后面所有的缩进的代码块构成了函数体 , 描述了函数是做什么的,即函数的功能是什么 。Python函数的本质与数学中的函数的本质是一致的 。
2、函数调用
①函数必须先定义,才能调用 , 否则会报错 。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用 。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的 。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数 。
Python中几个特殊的函数1、 定义一个特殊的__slots__变量,来限制该class实例能添加的属性
2、 内置的@property(关键字)装饰器就是负责把一个方法变成属性调用的 。@property.setter(这里的property是类里面的属性名)负责把一个setter方法变成属性赋值 。
3、__str__() , __repr__(),__iter__() , __next__(),__getitem__() , __setitem__(),__delitem__() , __getattr__(),__call__()
python属性重新赋值叫什么python属性重新赋值叫就是在类obj 生成对象A 的时候 , 进行初始化,自动调用了obj 的init函数 , 声明了一个对象A的私有变量,并对其赋值 。
这时候的A.a就是访问了一个对象的私有变量 。对其赋值,没有调用任何其他方法,和b=“test”一样,就是普通的对字符串赋值,这个时候,a就是一个对象A的一个私有变量 。
Python的函数和参数 parameter 是函数定义的参数形式
argument 是函数调用时传入的参数实体 。
对于函数调用的传参模式,一般有两种:
此外,
也是关键字传参
python的函数参数定义一般来说有五种:位置和关键字参数混合 ,仅位置参数,仅关键字参数,可变位置参数 , 可变关键字参数。其中仅位置参数的方式仅仅是一个概念,python语法中暂时没有这样的设计 。
通常我们见到的函数是位置和关键字混合的方式 。
既可以用关键字又可以用位置调用
或
这种方式的定义只能使用关键字传参的模式
f(*some_list) 与 f(arg1, arg2, ...) (其中some_list = [arg1, arg2, ...])是等价的
网络模块request的request方法的设计
多数的可选参数被设计成可变关键字参数
有多种方法能够为函数定义输出:
非常晦涩
如果使用可变对象作为函数的默认参数 , 会导致默认参数在所有的函数调用中被共享 。
例子1:
【python函数属性 python 属性】 addItem方法的data设计了一个默认参数,使用不当会造成默认参数被共享 。
python里面,函数的默认参数被存在__default__属性中,这是一个元组类型
例子2:
在例子1中,默认参数是一个列表 , 它是mutable的数据类型,当它写进 __defauts__属性中时,函数addItem的操作并不会改变它的id , 相当于 __defauts__只是保存了data的引用,对于它的内存数据并不关心,每次调用addItem,都可以修改 addItem.__defauts__中的数据,它是一个共享数据 。
如果默认参数是一个imutable类型 , 情况将会不一样,你无法改变默认参数第一次存入的值 。
例子1中,连续调用addItem('world') 的结果会是
而不是期望的
python里的__name__属性,是怎么回事?python里的__name__属性的意思:
1、__name__是一个变量 。前后加了双下划线是因为是因为这是系统定义的名字 。普通变量不要使用此方式命名变量 。
2、Python有很多模块,而这些模块是可以独立运行的!这点不像C和C的头文件 。
3、import的时候是要执行所import的模块的 。
4、__name__就是标识模块的名字的一个系统变量 。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是__main__,通过if判断这样就可以执行“__mian__:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“__mian__:”后面的内容 。
通过上面方式,python就可以分清楚哪些是主函数 , 进入主函数执行;并且可以调用其他模块的各个函数等等 。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等 。
具体步骤如下:/导致这种情况的原因主要是??
关于python函数属性和python 属性的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 户外直播都用什么工具,户外直播都用什么工具好
- 怎么用ChatGPT写文案,怎么用chatGPT写文案
- chatgptopen,ChatGPTOpenAl下载
- 麦子讲无人直播,麦子讲师
- 电视玩吃鸡买什么手柄最好,电视玩吃鸡买什么手柄最好用
- chatgpt语言切换,chatwork怎么修改语言
- 好的角色扮演游戏电脑,好玩的角色扮演游戏电脑
- c语言函数bianxie c语言函数编写程序
- 把网络写好后怎么看电视,网络电视怎样看想看的电视剧