python当中的函数
函数在编程语言当中称之为方法:
第一种:python自带函数:print ,input,list,tuple
第二种:自定义函数--其他程序员编写好的函数代码,叫做自定义函数。自己封装的方法
定义函数遵循的方法
1,定义一个函数def进行开头
2,函数是由函数名称以及函数体部内容组成
3,函数当中第一行都是用来注释,用来表示我函数用来实现某种功能
4,函数要遵循缩进的语法
5,实现代码的封装,提高代码的重复使用效率
一,定义一个函数:def
# def function():#函数头部的定义,括号用来存放形式参数
# poss
# print("hello word")
# function()
二,函数调用的方法
# def function():
# print("hello word")
第一种在本模块调用 --直接通过函数名称进行调用
# function()
第二种主函数调用--主函数调用可以防止我主函数下面的内容被其他模块调用
# if __name__ =='__main__': #他是一个if判断语句,当我__name__ =='__main__'的时候他下面的代码才会被运行
# function() #__name__ :是模块名称的意思,在当前本模块打印输出的结果是
# print("武汉八期")
# 总结:if __name__ =='__main__':可以保证脚本被导入。进行调用函数方法时,不会调用主函数下面的代码。也就防止我不想运行的代码被其他模块进行引用
引用deom5的中的function
# from demo import deom5 #进行导入demo这个项目包下面的deom5模块进行使用
# deom5.function()
# hello word
# 武汉八期
# hello word
# print(deom5.__name__)
# deom5.__name__ :它不等于'__main__'所以我主函数下面的代码不会执行
三,函数的参数
形式参数:定义在括号里面的参数值
实际参数:调用这个函数实际给的值
# def func(name,age): #定义函数接收的值的名称叫做形式参数
# print("我叫",name,"今年",age) #
# func("小陈","十八")# 实际给的值,实际参数
# def func(name,where,action):
# print(name,where,action)
# func("刘艺","是","傻逼")
# func("刘艺","是","傻逼")
# 默认参数:也叫缺省参数
# def func(name="小陈",where="上海",oction="洗脚"):
# print(name,where,oction)
# func("刘艺","是个","大傻逼")
# func(name="小刘",where="去北京",oction="大保健")
# func(name="小胡")
# func(where="去北京")
# mysql中的函数没有返回值
# python当中的函数是拥有返回值的
# return:
# 1,函数的返回值是由return来决定的,return后面写什么这个函数就返回什么
# 2,如果函数中没return语句,函数默认返回一个None
# 3,如果写了return没有给值,函数返回的也是None
# 4,函数当中要返回多个数据,要进行逗号隔开,返回的是元组类型
# def func():#没有return语句func就是一个空壳子
# print("hello word")#打印输出
# func()
# def func2():#return是返回
# return "hello word2"
# #return 语句把hello word这个值返回给这个函数名称---函数就具备了---hello word属性
# func2()
# print(func2())
# return返回多个值的场景
# def number():
# num = 100
# num1 = 200
# return num,num1
# print(number()[1])#根据索引取它的返回值
# def number1():
# a = number()[1]
# return a * 3
# print(number1())
# return 语句 碰到return语句立即返回
# 用于结束函数的运行,遇到return立即跳出函数
# def func():
# print("刘艺在厕所")
# return #碰到return语句,下面的语句不会被执行
# #函数碰到return立即返回结束
# print("吃饭")
# func()
函数当中的变量
全局变量:作用当前变量下面的所有
局部变量:自会生效与当前的函数内
global:声明变量 --声明局部变量为全部变量
# num = 300 #全局变量在函数外进行定义--它的作用当前语句下面的全部代码
# def func():
# global num #声明当前局部变量为全局变量
# num = 100 #局部变量,在函数体部当中
# print(num)
# func()
# def func1():
# print(num)
# func1()
登录银行系统,并显示余额
# def func():
# a = input("输入的账号")
# if a == "666":
# print("账号正确")
# c = input("输入密码")
# if c == "123456":
# return "登录成功"
# else:
# print("密码错误")
# else:
# print("账号错误")
# return "登录失败"
# # func()
# def func2():
# if func() == "登录成功":
# print("余额:100000000")
# func2()
可变长元组:当你不确定你传的实际参数的个数时候,可以使用可变长元组来接收值 *
# def f(*values):
# print(values)
# print(type(values))#
# f("无铭洲","在厕所","大喊奥力给")
可变长字典:1,传入两个 ** 2,传入的两个字典如果有重复的键(key)会报错
# dict1 = {"无铭洲":"在厕所"}
# dict2 = {"大喊":"干了,兄弟们"}
# def func(**dict):
# print(dict)
# #第一种方法
# func(**dict1,**dict2)
# #第二种方法
# func(name = "无铭洲",age = "18")
# #第三种方法
# func(**{"无铭洲":"在厕所","大喊":"干了,兄弟们"})
format()也是用于格式化输出:
# str1 = "无铭洲66"
# print("{}".format(str1))
# print("{}".format("武汉八期"))
# print("name{} age{} where{} action{}".format("无铭洲","18","在网吧","打游戏"))
# list 输出方法
# list1 = [1,2,3,4,5,6]
# list2 = ["ss","aa"]
# print("{}{}{}".format(list1[1],list1[2],list1[3]))
# # 0代表你的list1 1代表list2
# print("{0[1]} {1[1]}".format(list1,list2))
# 参数名称输出
# print("姓名{name} 年龄{age}学测试".format(name = "无铭洲",age = "18"))
# format输出字典
# dict1 = {"湖南":"长沙","湖北":"武汉"}
# #字典通过键取值
# print("城市1{湖南} 城市2{湖北}".format(**dict1))
zip 函数,他是一个打包函数,返回的的是一个多维数组
两个list当中有对应的值才可以进行打包
# list1 = ["武汉","长沙","南昌"]
# list2 = ["湖北","湖南"]
# list3 = list(zip(list1,list2))
# print(list3)
# #一般工作场景当中都是打包完成之后转换成dict字典
# list3 = dict(list3)
# print(list3)
open 函数:打开一个文本具有特殊意义的
\n \t 这个字符在python当中是
# 文件地址A:防止转译
# 第一张方法:在路径前面加r
# 第二种方法:反斜杠
# 第三种犯法:双斜杠反斜杠
# a = open(r"C:\Users\szyc\PycharmProjects\wuhan8\venv\demo\wu",mode="r",encoding="utf-8")
# mode = r 表示有读的权限
# print(a.read()) #显示全部内容
# print(a.readline()) #只显示第一行内容
# print(a.readlines()) #返回的所有数据都会存放在一个list当中
# a = open(r"C:\Users\szyc\PycharmProjects\wuhan8\venv\demo\wu",mode="w",encoding="utf-8")
# mode = w 表示有写的权限
# a.write("你好") #它会把原有的数据覆盖掉
# a.writelines("hello") #它会把原有的数据覆盖掉
# mode = a 表示在原有的基础上进行追加内容
# a = open(r"C:\Users\szyc\PycharmProjects\wuhan8\venv\demo\wu",mode="a",encoding="utf-8")
# a.write("无铭洲") #在原有的基础上进行追加内容
# a.writelines("无铭洲")
# a.close()
# with open 可以手动关闭文件 close as 取别名
# with open(r"C:\Users\szyc\PycharmProjects\wuhan8\venv\demo\wu",mode="r",encoding="utf-8") as a:
# a.write("你好多次师")
# print(a.read())
|
|