Board logo

标题: 自定义函数 [打印本页]

作者: admin    时间: 2019-9-22 10:02     标题: 自定义函数

函数是组织好、可重复使用,用来实现单一或相关联功能的代码段。 函数能够提高应用的模块化和代码的重复利用率。Python提供了许多内建函数,如print()、int()、float()等等。 用户也可以自己创建函数,这样的函数称为用户自定义函数。 ###### 例子一: #coding=utf-8 def func1(): #自定义函数 print('Welcome to zhuohua.') #函数的操作 if __name__ == '__main__': func1() #执行一次函数func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Welcome to zhuohua. ###### 例子二: #coding=utf-8 def func1(Key_1): #自定义函数,加上了一个变量Key_1 print('Welcome to',Key_1) if __name__ == '__main__': func1("zhuohua.") #按参数顺序传入参数后,执行一次func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Welcome to zhuohua. ###### 例子三: #coding=utf-8 def func1(Name_1,Age_1): #自定义函数,加上了两个变量Name_1、Age_1 print("姓名:",Name_1) print("年龄:",Age_1) if __name__ == '__main__': func1('zhuohua',18) #按参数顺序传入参数后,执行一次func1() Name_1 = 'Mary' Age_1 = 25 func1(Name_1,Age_1) #按参数顺序传入参数后,执行一次func1() Name_1 = "Lily" Age_1 = 42 func1(Name_1,Age_1) #按参数顺序传入参数后,执行一次func1() print("-" * 10) func1(Name_1='Python',Age_1=28) #指定参数名传入参数后,执行一次func1() func1(Age_1=38,Name_1='Tom') #指定参数名传入参数后,执行一次func1() 脚本运行的结果:(函数func1()一共被执行了五次) C:\Users\jacky\Desktop>python xx.py 姓名: zhuohua 年龄: 18 姓名: Mary 年龄: 25 姓名: Lily 年龄: 42 ---------- 姓名: Python 年龄: 28 姓名: Tom 年龄: 38 ###### 例子四: #coding=utf-8 def func1(): Key_1 = 1 return Key_1 #这种方法不用return的话,返回结果为None def func2(): #局部变量Key_2使用了func1()return出来的一个变量Key_1的值 Key_2 = func1() print(Key_2) if __name__ == '__main__': #这种方法需要依次执行func1()、func2() func1() func2() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 1 ###### 例子五: #coding=utf-8 def func1(): Key_1 = 1 Key_2 = 2 return Key_1,Key_2 def func2(): #局部变量a_1、a_2分别使用了func1()return出来的两个变量Key_1、Key_2的值 a_1 = func1()[0] a_2 = func1()[1] print(a_1) print(a_2) if __name__ == '__main__': #这种方法需要依次执行func1()、func2() func1() func2() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 1 2 ###### 例子六: #coding=utf-8 def func1(): Key_1 = "zhuohua" Key_2 = 'Python' Key_3 = 168 return Key_1,Key_2,Key_3 if __name__ == '__main__': Key_1,Key_2,Key_3 = func1() print(Key_2) print(Key_1,Key_3) print(f"今年{Key_1}{Key_3}。") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Python zhuohua 168 今年zhuohua168。 ###### 例子七: #coding=utf-8 Key_1 = input("请输入一个1到3之间的整数:") def func1(): a='Welcome to zhuohua.' print(a) def func2(): Path_1 = "./test2.txt" #在脚本所在目录里创建一个名为test2.txt的文件 f_name = open(Path_1,'w') f_name.close() print('创建文件test2.txt') def func3(): Path_1 = "../test3.txt" #在脚本所在目录的上一级目录里创建一个名为test3.txt的文件 f_name = open(Path_1,'w') f_name.close() print('创建文件test3.txt') if __name__ == '__main__': if int(Key_1)==1: func1() elif int(Key_1) == 2: func2() elif int(Key_1) == 3: func3() 多次运行脚本的结果: C:\Users\jacky\Desktop>python xx.py 请输入一个1到3之间的整数:1 Welcome to zhuohua. C:\Users\jacky\Desktop>python xx.py 请输入一个1到3之间的整数:2 创建文件test2.txt C:\Users\jacky\Desktop>python xx.py 请输入一个1到3之间的整数:3 创建文件test3.txt 笺注: 只有输入了整数'2'再按回车键,func2()才会创建一个名为test2.txt的文件 只有输入了整数'3'再按回车键,func3()才会创建一个名为test3.txt的文件 假如脚本xx.py是在桌面,那么文件test2.txt就生成到目录C:\Users\jacky\Desktop 假如脚本xx.py是在桌面,那么文件test3.txt就生成到目录C:\Users\jacky ###### 例子八: #coding=utf-8 def func1(): Path_1 = "D:/Python3/share/a.txt" #在目录D:\Python3\share里创建一个名为a.txt的文件 f_name = open(Path_1,'w') f_name.close() print('创建文件a.txt') def func2(): Path_1 = "./b.txt" f_name = open(Path_1,'w') f_name.close() print('创建文件b.txt') def func3(): Path_1 = "../c.txt" f_name = open(Path_1,'w') f_name.close() print('创建文件b.txt') if __name__ == '__main__': func1() func2() func3() 脚本运行的结果:(脚本运行后,依次创建文件a.txt、文件b.txt、文件c.txt) C:\Users\jacky\Desktop>python xx.py 创建文件a.txt 创建文件b.txt 创建文件b.txt ######使用函数进行科学计算(一) #coding=utf-8 def func1(): Key_1 = 22 Key_2 = 66 Result_0 = Key_1 + Key_2 return Result_0 #这种方法不用return的话,返回结果为None if __name__ == '__main__': Result_1 = func1() #全局变量Result_1使用了func1()return出来的一个变量Result_0的值 print(Result_1) print(type(Result_1)) print(f"计算结果为 {Result_1}") 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 88 计算结果为 88 ######使用函数进行科学计算(二) #coding=utf-8 def func1(Key_1,Key_2): Result_0 = Key_1 + Key_2 return Result_0 if __name__ == '__main__': #多次按参数顺序传入参数后,多次执行func1() Result_1 = func1(1,2) print(Result_1) Result_1 = func1(3,4) print(Result_1) Result_1 = func1(5,6) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 3 7 11 ######使用函数进行科学计算(三) #coding=utf-8 def func1(): i_1 = 2 i_2 = 16 j_1 = 5 j_2 = 45 Key_1 = i_1 + i_2 Key_2 = j_1 + j_2 return Key_1,Key_2 def func2(): a_1 = func1()[0] a_2 = func1()[1] Result_1 = a_1 - a_2 print(Result_1) print(type(Result_1)) print(f"计算结果为 {Result_1}") if __name__ == '__main__': func1() func2() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py -32 计算结果为 -32 ######使用函数进行科学计算(四) #coding=utf-8 def func1(): Key_1 = 1 #func2()调用了func1()的一个变量Key_1,并且func2()会自动执行 func2(Key_1) def func2(Key_1): Key_2 = Key_1 + 2 print(Key_2) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 3 ######使用函数进行科学计算(五) #coding=utf-8 def func1(): Key_1 = 1 Key_2 = 2 Key_3 = Key_1 + Key_2 #func2()调用了func1()的两个变量Key_1、Key_3,并且func2()会自动执行 func2(Key_1,Key_3) def func2(Key_1,Key_3): Result_1 = Key_1 + Key_3 + 4 print(Key_1) print(Key_3) print(Result_1) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 1 3 8 ######使用函数进行科学计算(六) #coding=utf-8 Key_1 = int(input("请输入变量Key_1的值:")) Key_2 = int(input("请输入变量Key_2的值:")) Key_3 = int(input("请输入变量Key_3的值:")) Key_4 = int(input("请输入变量Key_4的值:")) def func1(): Result_1 = Key_1 / ((Key_2 + Key_3) * Key_4) print("-" * 10) print(f"计算结果: {Result_1}") print(f"计算结果的数据类型:{type(Result_1)}") print("-" * 10) Result_2 = "%.3f" % Result_1 #保留三位小数 print("计算结果保留三位小数:",Result_2) print("计算结果保留三位小数后的数据类型:",type(Result_2)) print("-" * 10) Result_3 = float(Result_2) #字符串转换为浮点数 print("计算结果从字符串转换为浮点数:",Result_3) print("计算结果从字符串转换为浮点数后的数据类型:",type(Result_3)) print("-" * 10) Result_4 = int(Result_3) #浮点数转换为整数;直接截取整数部分,不是四舍五入 print("计算结果从浮点数转换为整数:",Result_4) print("计算结果从浮点数转换为整数后的数据类型:",type(Result_4)) if __name__ == '__main__': func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 请输入变量Key_1的值:80 请输入变量Key_2的值:1 请输入变量Key_3的值:2 请输入变量Key_4的值:-3 ---------- 计算结果: -8.88888888888889 计算结果的数据类型: ---------- 计算结果保留三位小数: -8.889 计算结果保留三位小数后的数据类型: ---------- 计算结果从字符串转换为浮点数: -8.889 计算结果从字符串转换为浮点数后的数据类型: ---------- 计算结果从浮点数转换为整数: -8 计算结果从浮点数转换为整数后的数据类型: ######使用函数进行科学计算(七) #coding=utf-8 def func1(Key_1,Key_2,Key_3,Key_4): Result_0 = Key_1 / ((Key_2 + Key_3) * Key_4) return Result_0 def func2(): print("-" * 10) print(Result_1) print(type(Result_1)) print("-" * 10) Result_2 = "%.2f" % Result_1 #保留两位小数 print(Result_2) print(type(Result_2)) print("-" * 10) Result_3 = int(float(Result_2)) #不可以直接将有小数点的字符串取整数部分,要先转换为浮点数 print(Result_3) print(type(Result_3)) if __name__ == '__main__': Key_1 = int(input("请输入变量Key_1的值:")) Key_2 = int(input("请输入变量Key_2的值:")) Key_3 = int(input("请输入变量Key_3的值:")) Key_4 = int(input("请输入变量Key_4的值:")) Result_1 = func1(Key_1,Key_2,Key_3,Key_4) #Result_1为全局变量 func2() #func2()可以直接使用全局变量Result_1 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 请输入变量Key_1的值:80 请输入变量Key_2的值:1 请输入变量Key_3的值:2 请输入变量Key_4的值:-3 ---------- -8.88888888888889 ---------- -8.89 ---------- -8 ######使用函数进行科学计算(八) #coding=utf-8 def func1(Key_1,Key_2,Key_3,Key_4): global Result_0 #使用关键字global,把Result_0从局部变量变为全局变量 Result_0 = Key_1 / ((Key_2 + Key_3) * Key_4) def func2(): print("-" * 10) print(Result_0) print(type(Result_0)) print("-" * 10) Result_1 = "%.1f" % Result_0 #保留一位小数 print(Result_1) print(type(Result_1)) print("-" * 10) Result_2 = int(float(Result_1)) print(Result_2) print(type(Result_2)) if __name__ == '__main__': Key_1 = int(input("请输入变量Key_1的值:")) Key_2 = int(input("请输入变量Key_2的值:")) Key_3 = int(input("请输入变量Key_3的值:")) Key_4 = int(input("请输入变量Key_4的值:")) func1(Key_1,Key_2,Key_3,Key_4) func2() #func2()可以直接使用全局变量Result_0 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 请输入变量Key_1的值:80 请输入变量Key_2的值:1 请输入变量Key_3的值:2 请输入变量Key_4的值:-3 ---------- -8.88888888888889 ---------- -8.9 ---------- -8 ######循环使用函数(一) #coding=utf-8 def func1(): #自定义函数 global Key_1 print("##### Welcome to zhuohua. #####") print("1: Install Apache") print("2: Install MySQL") print("3: Install PHP") print("###") Key_1 = int(input("Enter your choice (1, 2, 3, 4): ")) if __name__ == '__main__': func1() #先执行一次函数func1() if Key_1 == 1: print("Installing Apache...") print("Install Apache completed,enjoy it!") print("") func1() #再执行一次函数func1() if Key_1 == 2: print("Installing MySQL...") print("Install MySQL completed,enjoy it!") print("") print("") func1() #再执行一次函数func1() if Key_1 == 3: print("Installing PHP...") print("Install PHP completed,enjoy it!") print("") print("") func1() #再执行一次函数func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py ##### Welcome to zhuohua. ##### 1: Install Apache 2: Install MySQL 3: Install PHP ### Enter your choice (1, 2, 3, 4): 1 Installing Apache... Install Apache completed,enjoy it! ##### Welcome to zhuohua. ##### 1: Install Apache 2: Install MySQL 3: Install PHP ### Enter your choice (1, 2, 3, 4): 2 Installing MySQL... Install MySQL completed,enjoy it! ##### Welcome to zhuohua. ##### 1: Install Apache 2: Install MySQL 3: Install PHP ### Enter your choice (1, 2, 3, 4): 3 Installing PHP... Install PHP completed,enjoy it! ##### Welcome to zhuohua. ##### 1: Install Apache 2: Install MySQL 3: Install PHP ### Enter your choice (1, 2, 3, 4): 4 C:\Users\jacky\Desktop> ######循环使用函数(二) #coding=utf-8 import sys def func1(): #自定义函数 global Key_1 print("##### Install Apache #####") print("1: Install Apache2.2") print("2: Install Apache2.4") print("q: Exit current script") print("###") Key_1 = input("Enter your choice (1, 2, q): ") if Key_1 == "1": print("You will install Apache2.2") elif Key_1 == "2": print("You will install Apache2.4") elif Key_1 == "q": sys.exit() #终止脚本的运行 func2() #执行一次函数func2() def func2(): #自定义函数 global Key_2 print("##### Install MySQL #####") print("1: Install MySQL5.5") print("2: Install MySQL5.6") print("3: Install MySQL5.7") print("q: Exit current script") print("###") Key_2 = input("Enter your choice (1, 2, 3, q): ") if Key_2 == "q": sys.exit() #终止脚本的运行 func3() #执行一次函数func3() def func3(): #自定义函数 global Key_3 print("##### Install PHP #####") print("1: Install PHP5.6") print("2: Install PHP7.0") print("3: Install PHP7.1") print("4: Install PHP7.2") print("q: Exit current script") print("###") Key_3 = input("Enter your choice (1, 2, 3, 4, q): ") if Key_3 == "q": sys.exit() #终止脚本的运行 def func4(): #自定义函数 print("") print("Installing Apache2.4...") print("Install Apache2.4 completed,enjoy it!") print("Installing MySQL5.6...") print("Install MySQL5.6 completed,enjoy it!") print("Installing PHP7.2...") print("Install PHP7.2 completed,enjoy it!") print("") if __name__ == '__main__': func1() #先执行一次函数func1() if Key_1 == "1" and Key_2 == "1" and Key_3 == "1": print("") print("Installing Apache2.2...") print("Install Apache2.2 completed,enjoy it!") print("Installing MySQL5.5...") print("Install MySQL5.5 completed,enjoy it!") print("Installing PHP5.6...") print("Install PHP5.6 completed,enjoy it!") print("") elif Key_1 == "2" and Key_2 == "1" and Key_3 == "1": print("") print("Installing Apache2.4...") print("Install Apache2.4 completed,enjoy it!") print("Installing MySQL5.5...") print("Install MySQL5.5 completed,enjoy it!") print("Installing PHP5.6...") print("Install PHP5.6 completed,enjoy it!") print("") elif Key_1 == "2" and Key_2 == "2" and Key_3 == "4": func4() #执行一次函数func4() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py ##### Install Apache ##### 1: Install Apache2.2 2: Install Apache2.4 q: Exit current script ### Enter your choice (1, 2, q): 1 You will install Apache2.2 ##### Install MySQL ##### 1: Install MySQL5.5 2: Install MySQL5.6 3: Install MySQL5.7 q: Exit current script ### Enter your choice (1, 2, 3, q): 1 ##### Install PHP ##### 1: Install PHP5.6 2: Install PHP7.0 3: Install PHP7.1 4: Install PHP7.2 q: Exit current script ### Enter your choice (1, 2, 3, 4, q): 1 Installing Apache2.2... Install Apache2.2 completed,enjoy it! Installing MySQL5.5... Install MySQL5.5 completed,enjoy it! Installing PHP5.6... Install PHP5.6 completed,enjoy it! C:\Users\jacky\Desktop> ### C:\Users\jacky\Desktop>python xx.py ##### Install Apache ##### 1: Install Apache2.2 2: Install Apache2.4 q: Exit current script ### Enter your choice (1, 2, q): 2 You will install Apache2.4 ##### Install MySQL ##### 1: Install MySQL5.5 2: Install MySQL5.6 3: Install MySQL5.7 q: Exit current script ### Enter your choice (1, 2, 3, q): 1 ##### Install PHP ##### 1: Install PHP5.6 2: Install PHP7.0 3: Install PHP7.1 4: Install PHP7.2 q: Exit current script ### Enter your choice (1, 2, 3, 4, q): 1 Installing Apache2.4... Install Apache2.4 completed,enjoy it! Installing MySQL5.5... Install MySQL5.5 completed,enjoy it! Installing PHP5.6... Install PHP5.6 completed,enjoy it! C:\Users\jacky\Desktop> 相关文章: 全局变量和局部变量 自定义类 datetime模块 replace()函数 Python3命令集 Python3调用另外一个脚本的函数/类 Python3检测文件内容中是否包含关键字 文件操作(创建、读取、写入、追加) try语句 字典 匿名函数 Pandas的进阶(一) Pandas的进阶(三) CentOS6使用Socket(检测TCP端口) CentOS8使用Socket(检测TCP端口) Windows使用tcping+任务计划 Python3使用多线程/线程锁 Python3制作音乐播放器 Python3脚本管理Linux下的MySQL Linux使用内置模块ftplib 网络爬虫_爬(blog.zhuohua.store) 网络爬虫_爬(电影天堂) Shell脚本中的函数




欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2