#用def函数法打印100到200以内所有的奇数
def prnum(n1,n2):
for i in range(n1,n2):
if i%2 != 0:
print(i)
prnum(100,200)
python中变量(无论是形参变量还是普通变量)是由 字母,数字,下划线组成, 并且还不能以数字开头
所以,正常情况下没有办法在形参变量中加入除下划线以外的其它符号
-----
希望可以帮到题主, 欢迎追问
函数是组织好,可重复使用的,用来实现相关功能的代码段
函数提高了代码的重复利用率和应用的模块性。
除Python自带的函数之外,也可以自己创建函数,叫做自定义函数
语法:
函数代码块以 def 开头
参数为 输入值 ,放于函数名后口号里面,
函数内容以冒号:开始,函数体缩进, return 返回 输出值
函数调用使用关键字参数来确定传入的参数值,此时,如果多个函数则不需要按照指定顺序。
在定义函数时,指定参数默认值。调用时如果不传入参数,则使用默认值
不定长部分如果没有指定参数,传入是一个空元组
加了 两个星号 的参数会以字典的形式导入
/ 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。
38版本之后的才能使用
不使用 def 定义函数,没有函数名
lamdba主体时一个表达式,而不是代码块,函数体比def简单很多
定义在函数内部的为局部变量,仅能在函数内部使用
定义在函数外部的为全局变量,可在全局使用
模块是将包含所有定义的函数和变量的文件,一般将同类功能的函数组和在一起称为模块。
模块需要导入后,在调用相应函数进行使用
模块导入的方法:
从模块中导入一个指定的部分
把一个模块的所有内容全都导入
感觉不行,局部变量要别的函数用只有一个办法,不过我没成功过,就是用global,变成全局,然后再global到局部给下个def用
最好还是把你要的变量,做成别的函数的结果,然后defA()和defB()都去调用是最好的,也方便改
比如这样
相当于def函数定义。这是表达的是输入与输出的映射关系,所以python里的def相当于matlab里相当于def函数定义,使用关键字properties定义类的属性,使用关键字methods定义类的方法表达的是输入与输出的映射关系。好像没有特别的叫法吧,也没注意手册上有什么特别的叫法,至于区别,举个例子你就清楚了,如下:假如有个列表aa=[1,4,3,5],对这个列表用sort()进行排序,如果第一种方式aasort()后aa=[1,3,4,5];
而第二种方式sort(aa)排序后虽然得到了新列表[1,3,4,5],但是aa还是=[1,4,3,5]。
也就是说第一种方式会改变原列表,而第二种不会改变,只是得到了一个新的副本。
GOT IT?!^^
补充一下,如果非要说叫法上的区别的话,第一种叫做方法调用,第二种叫做函数调用。至于方法和函数的些微区别,方法是基于对象的,函数是基于本身的。如果再详细……方法一般不可以单独使用,因为大部分方法是基于对象的,调用也必须基于对象,像上面第一种;而函数则可以单独使用,你可以理解成它是数据系统本身的,而不是对象专有的。
PS:至于为什么我换了用sort()而没有用LZ给的例子函数,是因为…^o^……LZ第一种方式和第二种方式写的都不是一个函数……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)