函数 function
什么是函数:
函数是可以重复执行的语句块,可以重复使用
函数是面向过程编程的最小单位
函数的作用:
1.用于封装语句块,提高代码的重用性
2.定义用户级别的函数
def 语句 (把编码打包) call(调用)
语法:
def函数名(形参列表):
语句块(代码块)
说明:
1.函数的名字就是语句块的名称
2.函数名的命名规则与变是一名相同(函数名必须为标识符)
3.函数名是一个变量(不要轻易对其赋值)
4.函数有自己的名字空间,在函数外部不可以访问函数内部的变量(注意)在函数内部可以访问函数外部的变量,要让函数处理外部的数据需要传入一些数据
5.函数如果不需要传入参数,则参数列表可以为空
6.语句部分不能为空,如果为空需要填充pass语句
作用:
用于创建函数,用函数名这个变量绑定这个函数
# 示例见: # 此示例示意用def语句定义一个没有参数的函数 def say_hello(): print("hello world!") print("hello china!") print("hello tarena!")
函数的调用表达式:
函数名(实际调用传递参数)
说明:
函数调用是一个表达式
如果没有return语句,函数执行完毕后返回None对象
# 示例见: # 此示例示意用def语句来定义带有参数的函数 # 此函数名为mymax,有两个形式参数a,b 用于接收实参的传递 # 此函数计算两个参数的最大值并打印 def mymax(a,b): print("a=",a) print ("b=",b) if a>b: print(a,"大于",b) else: print(a,"小于",b) mymax(100,200) #函数调用
练习:
# 3 写一个函数myadd,此函数中的参数列表里有两个参数x,y此函数的功能是打印 x+y的和 # 如: # def myadd(...): # ...# ... 部分自己实现 # myadd(100,200) #打印300 # myadd("ABC","123") #打印 ABC123 def myadd(x,y): z = x +y print("和是",z) myadd(100,200) # 打印 300 myadd("ABC","123") # 打印ABC123 # 写一个函数print_event,传入一个参数n代表终止的整数,打印0~n 之间所有的偶数 # 如: # def print_event(n): # ....此处自己完成 # print_even(10) # 打印: # 0 2 4 6 8 # 方法1 def print_event(n): for x in range(n): if x % 2==0: print(x) print_event(10) # 方法2 def print_event(n): for x in range(0,n+1,2): print(x) print_event(10)
return 语句:
语法:
return[表达式]
注:[]代表其中的内容可省略
作用:
用于函数中,结果当前函数的执行,返回到调用该函数的地方,同时返回
一个对象的引用关系
说明:
1.return 语句先执行右侧的表达式,再将表达式的执行结果送回给当前函数的调用者
2.return 语句右侧的表达式可以省略,省略后相当于 return None
3.如果函数内没有return语句,则函数执行完最后一条语句后返回None)
(相当于在最后加了一条return None语句)
# 示例见: # 此示例示意return语句在函数中的应用 def say_hello2(): print("hello aaa") print("hello bbb") #return 1+ 2 #等同于 return None return [1,2,3,4,5] print("hello ccc") v = say_hello2() print("v=",v) v2 = say_hello2() print("v2=",v2)
练习:
# 1.写一个函数mymax,实现返回两个数的最大值: # 如: # def mymax(a,b): # ... # print(mymax(100,200))#200 # print(mymax(100,200))#ABCD # 方法1 def mymax(a,b): s = max(a,b) return s print(mymax(100,200)) print(mymax("ABC","ABCD")) # 方法2 def mymax(a,b): zuida = a if b > zuida: zuida = b return zuida print(mymax(100,200)) print(mymax("ABC","ABCD")) # 2.写一个函数myadd,实现给出两个数,返回这个两个数的和 # 如: # def myadd(x,y): .... # a = int(input("请输入第一个数:") # b = int(input("请输入第二个数:") # print("你输入的两个数的和是:",myadd(a,b)) def myadd(x,y): return x+y a = int(input("请输入第一个数:")) b = int(input("请输入第二个数:")) print("你输入的两个数的和是:",myadd(a,b)) # 3.写一个函数,input_number # def input_number(): # ...# 此处自己实现,此函数返回列表 # 此函数用来获取用户循环输入往返整数,当用户输入负数时结束输入 # 将用户输入的数字以列表的形式返回,再用内建函数max,min,sum # 求出用户输入的最大值,最小值以及和 # L = input_number() # print("用户输入的最大数是:",max(L)) # print("用户输入的最小数是:",min(L)) # print("用户输入的全部数的和是:",sum(L)) def input_number(): # 1.创建空列表 l = [] # 2.循环读取用户输入的正整数,存入在述列表 while True: n = int(input("请输入用户数字:")) if n<0: break# 此处自己实现,此函数返回列表 l.append(n) # 3.返回上述列表的引用关系 return l L = input_number() print("用户输入的最大数是:",max(L)) print("用户输入的最小数是:",min(L)) print("用户输入的全部数的和是:",sum(L))
原文地址:https://www.cnblogs.com/Axianba/p/11240152.html