我的github: https://github.com/WHJWNAVY

Python学习:Python函数

设计语言 WHJWNAVY 3542℃

类型转换函数

Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:

[code lang=python]
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
[/code]

函数别名

函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:

[code lang=python]
>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1
[/code]

定义函数

定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

[code lang=python]
def my_sum(n, m):
# 参数检查
if not isinstance(n, (int, float)):
raise TypeError('bad operand type')
if not isinstance(m, (int, float)):
raise TypeError('bad operand type')
nt = n
summ = 0
while nt <= m:
summ = summ + nt
nt = nt +1
return summ

print(my_sum(1, 1000))
# print(my_sum("a", "z"))
[/code]

导入函数

[code lang=python]
# my_test.py
def my_sum(i, n):
pass
[/code]

pass语句什么都不做,用来作为占位符,缺少了pass,代码运行就会有语法错误

[code lang=python]
# test.py (和my_test.py文件位于同一目录下)
#注意test是文件名(不含.py扩展名)
from my_test import my_sum
s = my_sum(1,100)
[/code]

返回多个值

函数可以返回多个值。比如下面这个计算坐标的函数:

[code lang=python]
In [10]: def func_xy(x,y,d):
…: return (x+d,y+d)
…:

In [11]: r=func_xy(1,2,3)

In [12]: r
Out[12]: (4, 5)

In [13]: x,y=func_xy(2,2,4)

In [14]: x
Out[14]: 6

In [15]: y
Out[15]: 6
[/code]

Python的函数返回多值其实就是返回一个tuple,但是返回的tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。

默认参数

必选参数在前,默认参数在后

[code lang=python]
def print_stud(name, age=23, sex="boy"):
print(name, "age:", age, ",sex:", sex)
return

print_stud("小红", 20, "girl")
print_stud("小明")
[/code]

可变参数

定义可变参数,需要在参数前面加了一个****号***。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数。

[code lang=python]
def sum_num(*num):
sum = 0
for n in num:
sum = sum + n
return sum

print(sum_num())
print(sum_num(1, 2, 3))
print(sum_num(1, 2, 3, 4, 5))
[/code]

list作为可变参数函数的参数

在list前面加一个*号,表示把这个list的所有元素作为可变参数传进去。

[code lang=python]
num = [1, 2, 3, 4, 5, 6]
print(sum_num(*num))
[/code]

转载请注明:胡椒小兄弟 » Python学习:Python函数

喜欢 (1)or分享 (0)