函数及函数的嵌套等
函数:具有独立功能的代码块组织为一个小模块,在需要的时候调用。
函数使用步骤:
1)定义函数
2)调用函数
函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用
函数的定义
语法格式:
def 函数名():
函数封装的代码
....
1)def是define的缩写
2)函数名称的命名与标识符的命名规制一致
3)函数的调用:函数名 ()
4)函数必须先定义后调用
5)因为函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留2个空行,如果在注释,在定义函数的下方,使用连续的三对引号
例如:
def sayHello():
print ("hello world!")
sayHello() #可以重复调用,如果函数不被调用,是不会主动执行的
sayHello是这个函数的名字,后面的括号里是参数,这里没有,表示不需要参数。多个参数中间用逗号隔开
缩进的代码块就是整个函数的内容,称作函数体。
然后我们去调用这个函数:
sayHello()
得到和直接执行print 'hello world!'一样的结果。
函数参数,形参和实参
1)函数名后边的小括号里添加参数
2)参数之间使用 , 隔开
3)使用参数增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据
4)形参:在定义函数时,小括号里的参数是用来接收参数用的额,在函数内部作为变量使用
5)实参:在调用函数时,小括号中的参数用来数据传递到函数内部用的
函数的返回值
返回值:函数完成工作后,最后给调用者的一个结果,在函数中使用关键字 return
注意:return表示返回,后续的代码不会被执行
def sum(n1, n2): """对两个数字求和""" sum = n1 + n2 # 使用return 返回值,告诉调用函数一方计算的结果存储在sum中 return sum print("执行?") # return 后面的代码不被执行,所以run时这行不被打印 # 使用变量r 来接收函数执行的返回结果 r = sum(1, 2) print(r)
案例:猜数字
from random import randint def isEqual(num1, num2): if num1 > num2: print('too big') return False if num1 < num2: print('too small') return False if num1 == num2: print('bingo') return True num = randint(1, 101) print('Gusee what I think?') bingo = False while bingo == False: answer = input() bingo = isEqual(int(answer), num) # 注意输入的是字符串,要进行类型转换
函数嵌套
一个函数里又调用了另外一个函数
def test1(char, count): row = 0 while row < 5: print(char * count) row += 1 def test2(): print("下面打印的是分割线") test1("*", 10) test2()
哈希(hash)
在Python中内置有一个名字叫做 hash(o) 函数
接收一个不可变类型的数据作为参数
返回结果是一个整数
哈希是一种算法,其作用就是提取数据的特征码(指纹)
相同的内容 得到 相同的结果
不同的内容 得到不同的结果
键值对的key必须是不可变类型的数据
键值对的value可以是任意的数据的类型