Python def函数的定义、使用及参数传递实现代码

yipeiwu_com5年前Python基础

Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:

def 函数名(参数1, 参数2, ……, 参数N):

执行语句函数名为调用的表示名,参数则是传入的参数,可以更具需要定义,也可以没有。

# 例1:简单的函数使用
# coding=gb2312

# 定义函数
def hello():
  print 'hello python!'
  
# 调用函数    
hello()
  
>>> hello python!

函数可以带参数和返回值,参数将按从左到右的匹配,参数可设置默认值,当使用函数时没给相应的参数时,会按照默认值进行赋值。

# 例2:累加计算值
# coding=gb2312

# 定义函数
def myadd(a=1,b=100):
  result = 0
  i = a
  while i <= b:  # 默认值为1+2+3+……+100
    result += i  
    i += 1
  return result

# 打印1+2+……+10    
print myadd(1,10)
print myadd()    # 使用默认参数1,100
print myadd(50)   # a赋值50,b使用默认值
  
>>> 55
>>> 5050
>>> 3825

Python 函数的参数传递时,值得注意的是参数传入时若为变量会被当作临时赋值给参数变量,如果是对象则会被引用。

# 例3:
# coding=gb2312

def testpara(p1,p2):
  p1 = 10
  p2.append('hello')

l = []   # 定义一数组对像
a = 20   # 给变量a赋值
testpara(a,l) # 变量a与对象数组l作为参数传入
print a   # 打印运行参数后的值
for v in l: # 打印数组对象的成员
  print v
    
>>> 20    # 调用函数后a变量并未被复值
>>> hello  # 而对象l数组则增加成员hello

相关文章

机器学习python实战之手写数字识别

机器学习python实战之手写数字识别

看了上一篇内容之后,相信对K近邻算法有了一个清晰的认识,今天的内容——手写数字识别是对上一篇内容的延续,这里也是为了自己能更熟练的掌握k-NN算法。 我们有大约2000个训练样本和100...

用Python实现web端用户登录和注册功能的教程

用Python实现web端用户登录和注册功能的教程

用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compil...

使用python将图片格式转换为ico格式的示例

因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个问题,以后就可以自己轻松实现转化了。 代码如下...

详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)

详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)

首先安装对应的python模块 $ pip install pyecharts==0.5.10 $ pip install echarts-countries-pypkg $ pip...

python数据持久存储 pickle模块的基本使用方法解析

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,...