1 #######前向引用####### 2 3 # def kangkang(): 4 # print('kangkagndexiaobaobei') 5 # 6 # 7 # def luoluo(): 8 # print('best wish') 9 # kangkang() 10 # 11 # 12 # luoluo() 13 # 14 15 # def luoluo(): 16 # print('best wish') 17 # kangkang() 18 # 19 # luoluo() 20 # 21 # def kangkang(): 22 # print('kangkagndexiaobaobei') 23 24 # luoluo() #报错 25 26 ##风湿理论#### 27 # python中的函数和变量是一样的,需要先声明在调用。执行顺序是按照代码中的上下顺序执行的, 28 # 如果先调用函数,在声明函数,则函数调用会失败。 函数即变量 29 # name = '海风' 30 # def huangwei(): 31 # name = '黄伟' 32 # print(name) 33 # def liuyang(): 34 # name = '刘洋' 35 # print(name) 36 # def nulige(): 37 # name = '努力哥哥' 38 # print(name) 39 # print(name) 40 # nulige() 41 # 42 # liuyang() 43 # print(name) 44 # 45 # print(name) 46 # huangwei() 47 # print(name) 48 49 ####递归### 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 50 # 递归函数特性: 51 # 52 # 必须有一个明确的结束条件; 53 # 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 54 # 相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。 55 # 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用, 56 # 栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出) 57 58 59 # def calc(n): 60 # print(n) 61 # if int(n / 2) == 0: 62 # return n 63 # res = calc(int(n / 2)) 64 # return res 65 # 66 # calc(12) 67 68 # def sum(n): 69 # if n > 0: 70 # 71 # return n + sum(n - 1) 72 # 73 # else: 74 # 75 # return 0 76 # 77 # 78 # sum(100) 79 # 80 # sum = sum(100) 81 # print(sum) 82 # 83 84 85 # import time 86 # 87 # person_list = ["袁浩","王 ","谢","钟", "刘"] 88 # 89 # 90 # def getAskWay(person_list): 91 # print("-" * 20) 92 # if len(person_list) == 0: 93 # return "没人知道" 94 # 95 # person = person_list.pop(0) 96 # if person == "钟": 97 # return "%s:臭弟弟..." % (person) 98 # 99 # print("hi,帅哥 %s,敢问路在何方?" % person) 100 # print("%s:我不知道,精神小伙,我去帮我你问问 %s ..." % (person, person_list[0])) 101 # time.sleep(0.1) 102 # rst = getAskWay(person_list) 103 # print("%s问的结果是:%s" % (person, rst)) 104 # return rst 105 # 106 # 107 # rst = getAskWay(person_list) 108 # print(rst) 109 110 111 a = ['傻小子','爱你'] 112 b = '我说你真好看' 113 c = '%s hahhah %s' %(b,a[0]) 114 print(c)