Python函数

python函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。

之前所学的很多函数方法都是前人已经定义好,供我们来使用的函数,而根据使用者的不同需求,我们可以自己定义我们所需要的函数。

一、定义函数

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

1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()

2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

4)函数内容以冒号起始,并且缩进。

5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

实例如下:

def printme(str):
   "打印传入的字符串到标准显示设备上"
   print(str)
   return ' '

二、调用函数 

实例如下:

# 定义函数
def printme( str ):
   "打印任何传入的字符串"
   print (str)
   return ' '
 
# 调用函数
printme("我要调用用户自定义函数!")
printme("再次调用同一函数")

输出如下:

我要调用用户自定义函数!
再次调用同一函数

三、参数传递

在讲参数传递之前,先导入一个概念,数据类型只对数据而言,而变量不是数据,因此变量没有数据类型。

举个例子,a = 2,那么2是属于int类型,但不能说a也属于int类型。

可以换一种理解方式去理解变量,变量代表着一条路径,当你使用变量时,就可以通过变量这一条路径来找到对应的数据,当然也可以由多个变量指向同一个数据,但不能一个变量指向多个数据。

实例如下:

def ChangeInt( a ):
    a = 10
 
b = 2
ChangeInt(b)
print (b) # 结果是 2

就如同上面这个实例,在传入变量b时,实际上传入的是通过b这个路径所找到的数据——2,因此路径b所指向的数据并没有通过函数而改变,所以当你打印b时,它所找到的数据仍旧是2。

1.必备参数

实例如下:

def printme( str ):
   "打印任何传入的字符串"
   print (str)
   return
 
#调用printme函数
printme()

输出如下:

Traceback (most recent call last):
  File "test.py", line 11, in 
    printme()
TypeError: printme() takes exactly 1 argument (0 given)

如果在定义函数时设置的是必备参数,那么在调用函数时传入了小于必备参数数量的参数,那么python会报错。

2.关键字参数 

实例如下:

#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print (str)
   return
 
#调用printme函数
printme( str = "My string")

输入如下:

My string

 可以用上述方式使用关键字传参,一般在有多个参数时,python会将你传入的实例参数一一对应到形参中,但如果你使用了关键字传参的方式,则任意顺序输入你想要传入的参数。

3.默认参数

实例如下:

def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print ("Name: ", name)
   print ("Age ", age)
   return ' '
 
#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( name="miki" )

输出如下:

Name:  miki
Age  50
Name:  miki
Age  35

当你在设置形参时就用=号的形式为形参赋值时,在该形参没有接收到实例参数的时候,python会直接默认你在先前设置形参时传入的值为该形参的值,而不会引发错误。 

 4.不定长参数

有时你可能会需要函数接受多个参数,但你在定义函数时暂时不知道具体会传入多少个参数的时候,可以使用不定长参数来设置形参。

实例如下:

def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   for var in vartuple:
      print (var)
   return ' '
 
# 调用printinfo 函数
printinfo( 10 )
printinfo( 70, 60, 50 )

输入如下:

输出:
10
输出:
70
60
50

 在需要设置成不定长参数时,在该形参前面加一个*号,表明这是一个不定长参数,这个参数会保存你实例参数中输入的所有参数,在函数中要使用时,可以通过遍历的方式取得,类似于列表。

 

 

你可能感兴趣的:(python,开发语言)