基本用法:2《定义函数def、返回值return、元组tuple》

2 《定义函数def、返回值return、元组tuple》

 【功能】 返回函数return ' '不需要立刻print,先存起来需要再print()

(1)【局部变量】和【全局变量】

 1 #(1)【局部变量】和【全部变量】
 2 #  A.【局部变量】函数内部定义,只能内部使用,外部不能使用
 3 def egg():
 4     global a   # 声明a是全局变量,print(a+2) 就不会报错了
 5     a=108
 6     print(a+1)
 7 egg()
 8 print(a+2)
 9 
10 #  B. 【全部变量】函数外部定义,内外都能使用
11 a=108
12 def egg():
13     print(a+1)
14 egg()
15 print(a+2)
16 x = 99
17 def num():
18     x = 88
19     print(x)
20 num()
21 # 调用局部变量x,若不加,就不能打印88
22 print(x)  # 打印全局变量x
23 print('
')

 

(2)【参数类型】位置参数类型a1,a2 ; 默认参数a3 ; 不定长a4

 1 #(2)【参数类型】位置参数类型a1,a2 ; 默认参数a3 ; 不定长a4
 2 a4=('小米','小面','小苗')
 3 print(type(a4))                # <class 'tuple'>
 4 def a(a1,a2,a3='',*a4):      # 位置参数类型a1,a2 ; 默认参数a3 ; 不定长a4
 5     print('我最喜欢'+a1)
 6     print('我最讨厌' + a2)
 7     print('我不认识' + a3)
 8     print('我刚认识:',end='')
 9     for i in a4:
10         print(i+' ',end='')
11     print('
')
12 a('','')
13 a('','')
14 a('','','')     # 覆盖a3='它'
15 a('','','',*a4) # 覆盖a3='它 + 遍历a4
16 print('
')

 

3)【没有return语句,默认返回None】

 1 ## 4. 返回函数 return ''
 2 #  【功能】 不需要立刻print,先存起来需要再print()
 3 def face(name):
 4     return name + '的脸蛋'
 5 def body(name):
 6     return name + '的身材'
 7 print('我的女神长什么样?:'+face('李若彤')+'+'+body('林志玲'))
 8 #要再次调用就要复制一遍,然后改参数
 9 print('我的女神长什么样?:'+face('新垣结衣')+'+'+body('长泽雅美'))
10 print('
')
11 
12 ## (1)【没有return语句,默认返回None】
13 #       【有多个return只返回第1个】
14 def fun():
15     a ='I am coding'
16     # 没有return 就默认返回 None
17 print(fun())             # None
18 def fun():
19     a='I am coding'
20     return a
21 print(fun())             # I am coding
22 def fun():
23   return 'I am coding.'  # 返回第一个return
24   return 'I am not coding.'
25 print(fun())             # I am coding
26 print('
')

 

 (4)多次调用:定义 【主函数main()】,调用 【非主函数的return】

 1 ## (2)多次调用:定义 【主函数main()】,调用 【非主函数的return】
 2 def a(a1):
 3     return a1 + '的脸蛋'
 4 def b(b1):
 5     return b1 + '的身材'
 6 def main(c1, c2):
 7     return '我的女神长什么样?:'+a(c1)+'+'+b(c2)
 8 print(main('李若彤', '林志玲'))
 9 print(main('新垣结衣','长泽雅美'))
10 print('
')

 

5)多个返回值:定义 【元组tuple=(‘’,’’)】,调用 【元组元素】

         ——python的独特之处,其他编程语言没有【元组】

 1 ##(3)多个返回值:定义 【元组tuple】,调用 【元组元素】
 2 ###       ——python的独特之处,其他编程语言没有【元组】
 3 
 4 #  A. 两数比较
 5 def a(a1,a2):
 6     if a1>a2:
 7         return '较大的数是'+str(a1)
 8     elif a1<a2:
 9         return '较大的数是'+str(a2)
10     else:
11         return '两数一样大'
12 tuple=a(99**2,8888)
13 print(tuple)    # 较大的数是9801
14 
15 # B. 调用多个返回值
16 def a(a1,a2):     # <class tuple> 元组不能作为返回值!!!
17     b1= a1 + '的脸蛋'
18     b2= a2 + '的身材'
19     return b1,b2
20    # return '我的女神长什么样?:' + a(c1,c2)      # 报错
21 tuple=a('倪妮','母其弥雅')    # 定义一个元祖,再调用
22 print('我的女神长什么样?:'+tuple[0]+'+'+tuple[1])

 

 

 实例11:HellowKitty倒计时随机抽奖器?

【方法1:random, time】 

 1 ###  1. 原始代码
 2 import random,time
 3 luckylist = ['海绵宝宝','派大星','章鱼哥']
 4 a = random.choice(luckylist)
 5 print('开奖倒计时',3)
 6 time.sleep(1)
 7 print('开奖倒计时',2)
 8 time.sleep(1)
 9 print('开奖倒计时',1)
10 time.sleep(1)
11    ## 使用三引号打印hellokitty的头像
12 image = '''
13  /\_)o<
14 |      \
15 | O . O|
16  \_____/'''
17 print(image)
18 print('恭喜'+a+'中奖!')
19 print('

')

 

【方法2:封装函数def】

 1 ### 2. 使用 封装函数def
 2 import random,time
 3 def a(a1,a2,a3):
 4     x=[a1,a2,a3]
 5     global b
 6 # 定义b前先声明它是【全局变量】
 7     b=random.choice(x)
 8     # 随机选择列表元素
 9     return b
10 a('海绵宝宝','派大星','章鱼哥')
11 print('开奖倒计时',3)
12 time.sleep(1)
13 print('开奖倒计时',2)
14 time.sleep(1)
15 print('开奖倒计时',1)
16 time.sleep(1)
17 image = '''
18  /\_)o<
19 |      \
20 | O . O|
21  \_____/'''
22 print(image)
23 print('恭喜'+b+'中奖!')

 

原文地址:https://www.cnblogs.com/lj-attitudes0303/p/10354605.html