找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
函数
函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段
也称为方法,在一个模块中重复使用,还可以在其他模块进行调用的功能
python自带的可以使用的叫做内建函数:print、 input str list count 这些函数都是python提供给我们的能够重复使用的方法
自定义函数:
是由使用者程序员进行组织的方法,也是可以进行重复使用的
线性脚本,没有组织封装的
在使用函数的时候,是通过函数名称进行调用函数里面的功能

函数命名规则以及注意点:
1.函数是以def关键字进行开头,然后()结尾;
2.函数的括号()是来接受函数需要的值;
3.函数的第一行一般是这个函数的注释类型;
4.函数体部的内部逻辑
5.调用这个函数;
6.函数它遵循的是缩进的语法,函数体部需要一个tab键包
调用方式:
#1.直接通过函数名称进行调用
# 2.通过主函数调用
# __name__ 指当前模块的名称(文件名称),__main__ 指当前运行的模块名称。
# if __name__ ==  '__main__' :  
#主函数,函数的入口,用来做调试使用。
#     func()   #main函数,不会被隔模块调用,只能在当前模块下运行;如果不加if main ,在其他模块引用时,其他模块也会被引用

函数当中的参数:
自定义函数有无参数的情况
形式参数:在定义函数时,设置的函数变量名称
实际参数:在实际调用这个安徽念书是,给函数传的值
区别:
形式参数:是意义上定义的一个参数名称,他是不会被分配内存地址
实际参数:是一个存在的参数,占用内存地址,传值可以包括任意数据形式
多个参数要用逗号隔开
默认值参数
# def func(city):#括号里面的参数叫做形式参数#     """形式参数可以在函数的体部进行引用"""#     print(city+"加油!")# func(city="西安")#这里“city”就是实际参数# func(city="河南")# func(city="浙江")              
函数的全局变量与局部变量及其作用
全局变量:作用于当前变量下的所有内容,作用效果在当前的变量的所有内容都可以进行使用
局部变量:在某一块区域内可以使用当前的变量,在函数体部进行变量,只能在当前的函数内部进行调用使用



# number=1000 #全局变量# def num():#     number1=100#局部变量#     number1+=100#     number1+=number#     print(number1)# num()# number=100# def func():#     number1=200#     number1+=100#     number1+=number#     print(number1)# func()# def func1():#     global number2#申明变更为全局变量           #     number2=200#     number2+=number#     print(number2)# func1()# num=number2+1000# print(num)            

return 返回的作用,是用来结束这个函数的*(碰到return就返回给函数名称)
1.return函数的返回值,是由return进行决定的,return后面写什么,就返回什么
2.如果函数中没有return,那么函数默认返回值为none
3.如果return后面没有内容,那么他的默认返回值也是none
4.如果想要返回多个内容,需要用逗号进行隔开,返回的是一个元组系列
5.return用来结束函数的运行——一旦碰到return语句,立马返回结果——结束函数的运行,return后面的代码将不会被执行

"""return 返回的作用,是用来结束这个函数的"""def a():

    print("hello word")print(a())#hello word   返回为空          #Nonedef a():    return("hello word")print(a())# hello word              
可变长元组:
name=admin 在不确定实际参数的个数时,那么就可以进行使用可变长元组
*: 可变长的参数
1.可变长参数,可变长元组,在形式参数前面加*号
2.在不确定传入字典的个数时,使用可变长字典,在形式参数前面加2个*号
3.可变长元组和可变长字典同时出现:可变长字典放在可变长元组后面;
可变长字典合并传输的字典;传入字典的时候一定要确认是否有重复的键,不然会抛异常
"""可变长元组"""# def func(*name):#     print(name)# func("admin","wuhan","user","duoceshi")"""可变长字典"""dict1={"湖北":"武汉"}dict2={"湖南":"长沙"}def func(**dict):    print(dict)    #第一种传入字典的方法# func(name="湖北",address="武汉",user="admin",password="123456")#可变长字典,在形式参数前面加2个*号    #第二种方法# func(**dict1,**dict2)#{'湖北': '武汉', '湖南': '长沙'}    #第三种方法:# func(**{"湖北":"武汉"})#{'湖北': '武汉'}"""同时使用可变长元组以及可变长字典,有顺序关系"""# def func(*tuple,**dict):#     print(tuple,dict)# func("admin","wuhan",**{"湖北":"武汉"})# def login():#     user = input("请输入你的新年愿望:")#     if user=="暴富暴瘦":#         passwd = input("请输入你的幸运号码:")#         if passwd=="4":#             return("登录成功")#         else:#             return("登录失败")#     else:#         return("账号错误")# def get_money():#     """此函数为查询账户余额"""#     list1=["登录成功","登录失败","账号错误"]#     result=login()#     if result==list1[0]:#         print("你的余额为:0:00")#     elif result==list1[1]:#         print("登陆失败,密码错误")#     elif result==list1[2]:#         print("账号错误")# get_money()              
格式化输出:format,输出方式{}
方法一# print("{}{}".format("name","age"))#nameage# 方法二:根据索引位置取参数值# print("{0}{2}{1}".format("3","2","1"))#312,索引位置是format里的内容# 方法三:参数名称的传递# print("{name}今年{age}".format(name="小王",age="18"))#小王今年18# 方法四:# list1=["小王","18"]# print("{0[0]} 今年 {0[1]}".format(list1))# print("{}今年{}".format(list1[0],list1[1]))# 第一个0代表参数的索引位置# 第二个0代表值的索引位置(format内容的)# 方法五:# dict1={"name":"小王","age":"18"}# print("{name}今年{age}".format(**dict1))              
zip函数:用于打包合并
# list1=["name","age"]# list2=["小王","18","180"]# list3=list(zip(list1,list2))# print(list3)#[('name', '小王'), ('age', '18')]# 多维数组,可以转换为字典,两个list长度取最短的值,相同的进行打包合并# print(dict(list3))              
open函数:用来打开文件,通过文件的地址进行打开encoding="utf-8":改格式,防止读取文件乱码权限:r,w
# file=open(r"D:\python\python1\wuhan10\空白操作页.py",encoding="utf-8",mode="r")# print(file.read())#读取的是str类型的内容# print(file.readline())#读取文件当中的第一行的内容# print(file.readlines())#读取文件当中的所有内容 ,返回的是一个list#不要两种方法一起用,会导致文件读取不到,不要重复使用readlines()# file=open(r"D:\python\python1\wuhan10\空白操作页.py",encoding="utf-8",mode="w")# file.write("12344555")#写入后会覆盖原有的内容# file.writelines("12344555")#写入后会覆盖原有的内容# a:追加模式# file=open(r"D:\python\python1\wuhan10\空白操作页.py",encoding="utf-8",mode="a")# file.write("12344555")"""注意:写入的过程当中如果想要覆盖原有的内容,就用“w”模式,想在原有的内容之上追加就用“a”模式"""# file.close()#进行手动关闭文件,防止后续写入文件时继续对文件进行操作"""with open:会自动关闭文件,不需要进行手动关闭 as: 命名"""# with open(r"D:\python\python1\wuhan10\空白操作页.py",#           encoding="utf-8",mode="a") as f:#     f.write("lllll")#       f.close()#with open 不需要手动进行close操作# def writh_wuhan(file_name,encoding,mode,str):#     a=open(file_name,encoding=encoding,mode=mode)#     a.write(str)#     a.close()# writh_wuhan(r"D:\python\python1\wuhan10\__init__.py","utf-8","a","wwwwwww")              


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册