Python函数详细总结
admin
2023-07-25 03:02:06
0

函数定义

  1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  2. 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  4. 函数内容以冒号起始,并且缩进。
  5. return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

语法

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

可更改(mutable)与不可更改(immutable)对象

在 python 中,==strings, tuples, 和 numbers== 是不可更改的对象,而 ==list,dict== 等则是可以修改的对象。

  • 不可变类型

    变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

  • 可变类型

    变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

全局变量与局部变量

定义在函数内部的变量拥有一个局部作用域

定义在函数外的拥有全局作用域。

如果要把函数内部的变量声明为外部的全局作用域,使用global声明

传参

  • 必备参数
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

prinme('My string')
  • 关键字参数
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

#调用printme函数
printme( str = "My string");
  • 缺省参数
#可写函数说明
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;

#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );
  • 不定长参数

    传入列表时,加入一个星号
    传入字典时,加入两个星号

# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return;

# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );

匿名参数lambda

  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
    lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法
lambda [arg1 [,arg2,.....argn]]:expression

# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;

# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )

相关内容

热门资讯

霍尔木兹海峡一艘油轮遇袭 新华社伦敦6月27日电(记者高文成)英国海上贸易行动办公室27日发布通报说,一艘油轮当天在霍尔木兹海...
楼盘用地发现古代墓地,山东潍坊... 6月26日,山东潍坊市奎文区文化和旅游局发布情况通报:胡西地块位于潍坊市奎文区新华佳乐家对面,地块总...
大连住建局职工称因拒“虚假回复... 6月24日,大风新闻发布报道,今年1月,辽宁大连中山区住建局职工姜某在处置上级转办的群众投诉时,称因...
想问下修燃气灶得多少钱 您好,燃气灶我推荐58的公司,技术和服务都很好,价格是同一电器同级别多项维修,每增加一项累计计算费用...
空调往里面漏水是什么原因 原因可能是排水管安装的方向是向外朝上的,这样就会使排出的水倒灌,致使水往空调里面流,可以重新安装一下...
空调内外机都漏水是什么原因 空调内外机都漏水是空调工作时常见的问题。如果这种情况发生,可能会导致许多其他的问题,如降低室内空气质...
空调挂机漏水是什么原因怎么解决 空调挂机漏水是一种常见的问题,它会导致空调运行效率降低、不舒适和损坏家庭设备的危险等问题。下面是一些...
开空调跳闸什么原因 1、空调专用电路中的保险丝被烧断,或电源开关的接触不良,或电源缺相。目前,很多家庭都只用一个电源,会...
热浪下的德国——没有空调的夏天... 新华社德国慕尼黑6月27日电 记者手记丨热浪下的德国——没有空调的夏天之困新华社记者李函林近日,一轮...
签证费48年没涨,一涨就是5倍... 48年来,日本首次大幅调涨签证费,离境税也同步翻三倍。据日本共同社报道,日本将于7月1日起上调国际观...