ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python2.7 函数(四)

2021-10-19 18:32:18  阅读:210  来源: 互联网

标签:... return 函数 arg1 Python2.7 参数 sub


Python2.7 函数

前言

我突然间发现,读书可以让人更加安静,平和的处理事情;以前总是遇到不顺心的事情会愤怒,会心直口快;随着自己对脑袋的理解,以及对情绪背后的深层含义,慢慢的整个人心境也平稳了许多;开始学会了接受不同,接受质疑;同时也学会了什么时候该放弃,什么时候该接受;也明白了想和做联系起来,“学而不思则罔,思而不学则殆”中,也让我明白了每天思考很多的东西,但是不去学习,所以困惑也解不开,但是现在我明白了,要去学习知识,才能让自己更加活的明白,通透;

上一节我们学习到函数,也实习了一下例子,接下来我们详细了解一下函数的使用;

定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

1. 函数代码块以 def 关键词开头,形如 def functionname( parameters ):。
2. 括号内是传入parameters是参数或者是自变量,括号之间可以用于定义参数。
3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。
4. return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

例子

写一个简单例子,传入一个字符串,并且输出到屏幕上;

>>> def show(str):
...     "打印字符串"
...     print str
...     return
... 
>>> show('python')
python
>>> show('cooper')
cooper
>>> 

函数调用

定义一个函数名称,并且指定了传入的参数,和实现功能的代码块;这样基本完成了一个函数,此函数也可以被其他函数所调用;

>>> show('python')
python
>>> show('cooper')
cooper
>>> 

函数参数

函数主要有必备参数,关键字参数,默认参数,不定长参数等等;

必备参数

必备参数是以正确的顺序传入函数。调用时的必须和声明一样;比如show函数,必须传入一个参数不然会报错;

>>> show()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: show() takes exactly 1 argument (0 given)
>>> 

关键参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

参数一致:

>>> show( str = 'python')
python
>>> 

参数不一致:

>>> def showname(name , age):
...     print"name:",name
...     print"age:",age
...     return
... 
>>> showname(age =3, name='cooper')
name: cooper
age: 3
>>> 

默认参数

调用函数时,默认参数的值如果没有传入,则被认为是默认值。

>>> def showname(name, age=34):
...     print"name:",name
...     print"age:",age
...     return
... 
>>> showname(wiki)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'wiki' is not defined
>>> showname('cooper')
name: cooper
age: 34
>>> 

不定长参数

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名。基本语法如下:

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

加了星号(*)的变量名会存放所有未命名的变量参数。不定长参数实例如下:

>>> def showname(arg1,*var):
...     print"arg1:",arg1
...     for va in var:
...             print va
...     return
... 
>>> showname(10)
arg1: 10
>>> showname(80,90,70)
arg1: 80
90
70
>>> 

匿名函数

python 使用 lambda 来创建匿名函数。lambda是一个表达式,而不是一个代码块了;仅仅能在lambda表达式中封装有限的逻辑进去;基本语法如下:

lambda [arg1 [,arg2,.....argn]]:expression
>>> sub = lambda arg1, arg2: arg1-arg2
>>> sub(10,20)
-10
>>> sub(20,20)
0
>>> 

return语句

return语句表示退出函数,return 可以有返回值,没有则是返回None;

>>> def sub(arg1,arg2):
...     sub = arg1-arg2
...     print "sub:", sub
...     return sub
... 
>>> sub(10,20)
sub: -10
-10
>>> 

变量作用域

变量分为全局变量和局部变量;

全局变量

定义在函数外的拥有全局变量;全局变量是可以在程序范围内访问;

局部变量

定义在函数内拥有一个局部作用域;局部变量只能在被声明函数内部访问;

>>> total = 0  # 全局变量
>>> def sub(arg1,arg2):
...     sub = arg1-arg2  # sub 局部变量
...     print "sub:", sub
...     return sub
... 
>>> sub(10,20)
sub: -10
-10
>>> 

结束

繁忙的一天结束了,也为自己这个文章写个结尾;不在有没有人看,只在乎自己在这个过程中努力过;

标签:...,return,函数,arg1,Python2.7,参数,sub
来源: https://blog.csdn.net/weixin_42030858/article/details/120851885

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有