Python函数
一:函数
函数是一段可以重复使用的代码,通过传递的参数返回不同的结果。对于重复使用的代码,需要编写为自定义函数便于重复使用。函数可以分为无参函数和带参函数。
1:无参函数
(1) 自定义无参函数
语法:
def 函数名称():
代码块
return [表达式]
注释:def为关键字,后面跟函数名和小括号,以冒号并开头,最后使用return退出函数,有表达式则传递返回值,没有则返回None。使用函数时必须先定义函数
无参函数的调用语法为:
[变量]=函数名称()
例1:
在编辑模式编写
def add():
op1=10
op2=20
rt=op1+op2
print op1,'+',op2,'=',rt
Return
Add() 调用add()函数
保存后执行add()
例2:乘法表
def nine():
op1=(1,2,3,4,5,6,7,8,9)
op2=(1,2,3,4,5,6,7,8,9)
for i in op1:
for j in op2:
print i,"*",j,"=",i*j
Return
Nine() 调用函数
执行nine()调用函数
2:带参函数
语法格式:
def 函数名称(形式参数列表):
代码块
return[表达式]
带参函数和无参函数的区别是在函数名称后面的小括号中形式参数列表,参数列表实际上只是占位符,用于体现参数的个数,每个参数都没有提供具体的数值。
例:
>>> def add(x,y):
return x+y
各种调用方法:
>>> print add(1,2)
3
>>> print add(44,66)
110
>>> add(5,6)
11
>>> add(x=3,y=5)
8
>>> add(y=5,x=3)
8
综合案例:
计算器小程序
# Filename : test.py
# author by : www.runoob.com
# 定义函数
def add(x, y):
"""相加"""
return x + y
def subtract(x, y):
"""相减"""
return x - y
def multiply(x, y):
"""相乘"""
return x * y
def divide(x, y):
"""相除"""
return x / y
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == 1:
print(num1,"+",num2,"=", add(num1,num2))
elif choice == 2:
print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == 3:
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == 4:
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("非法输入")
保存后执行程序
二:变量的作用域
作用域是指变量在程序中的应用范围,而变量声明的位置决定它的作用于,python按作用域区分为局部变量和全局变量。
全局变量是指在一个模块中最高级别的变量有全局作用域,除非被删除,否则存活到程序运行结束,所有函数都能访问全局变量。
局部变量是指定义在函数内部的变量有局部作用域,依赖于定义变量的函数现阶段处于活动状态,调用函数时,局部变量产生,暂时存在,一旦函数执行完,局部变量就会被释放。
局部变量的作用域仅限于定义他的函数,全局变量的作用域在整个模块内部都是可见的。在同一个函数中,不允许有同名局部变量。在不同的函数中可以有同名的局部变量,在同一个程序中,全局变量和局部变量同名时,局部变量具有更高的优先级。
例:在编辑模式中编写
name = 'Tim' #全局变量
def f1():
age = 18 #局部变量
print(age,name)
def f2():
age=19 #局部变量
print(age,name)
保存后执行定义的函数
f1()
f2()
>>>
18 Tim
19 Tim
三:lambda函数 发音:['læmdə]
lambda函数的作用使创建匿名函数,是一种声明函数的特殊方式。
lambda函数的语法:
lambda:params:expr
其中params相当于函数接受的参数列表,expr是函数返回值的表达式。
例:在编辑模式中
def sum1(x,y):
return x+y
sum2=lambda x,y:x+y
print sum1(3,4)
print sum2(3,4)
执行结果:
>>>
7
7
四:内建函数
python除了本身的语法结构,还提供了常用的内建函数。内建函数是程序员经常使用的方法,增加程序编写的效率,如float()就是内建函数,内建函数是自动加载的,python的解释器可以识别,它不需要导入模块,不必做任何的操作,不需要引用就可以调用。
例1:abs()函数:返回数字的绝对值
>>> abs(-10)
10
例2:bool()函数:返回值是true或false
>>> bool()
False
>>> bool(0)
False
>>> bool(-3)
True
>>> bool('aaa')
True
>>> bool('')
False
>>> bool([1,3])
True
>>>
总结:参数为0、None、空数字、空字符串、空列表时返回false,否则返回true
例3:float()函数:用于转换为float类型
>>> float('25')
25.0
>>> float('2.43425')
2.43425
例4:int()函数:用于将浮点数据转换为整型
>>> int(22.222)
22
例5:range()函数:用于生成列表
>>> range(1,5)
[1, 2, 3, 4]
>>> range(1,5,2)
[1, 3]
例6:sum()函数:对列表中的元素求和
>>> aaa=range(1,5)
>>> aaa
[1, 2, 3, 4]
>>> print (sum(aaa))
10
例7:max()函数:返回列表或元组的中最大值
>>> aaa=[4,3,2,6,8,7]
>>> max(aaa)
8
例8:min()函数:返回列表或元组中的最小值
>>> aaa=[4,3,2,6,8,7]
>>> min(aaa)
2
例9:dir()函数:返回当前变量
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'aaa', 'num']
例10:eval()函数用于计算表达式的值
>>> eval('20*30')
600
例11:len()函数:返回一个对象的长度
>>> len('432143')
6