找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
函数 :
什么是函数?
在编程语言当中函数也称之为方法()
函数 :
    1.python自带的函数 :内建函数 --- print input 等等
    2.python自定义函数 :程序员自己定义的函数

python当中定义函数 :def 创建函数 :
格式语法 :
def 函数名称():
    功能代码
函数可以更好的组织代码,代码的复用性更高


# def function():
#     
#     函数 :实现输出hello word 的功能
#     :return:
#     
#     print("hello word")

# 主函数调用,就是为了防止其他模块不想被调用的代码被执行

# if __name__ == '__main__':
#     function()

if __name__ == '__main__': 是一个 if 判断语句 :
__name__ 是模块名称 :__main__是条件:

__name__ 是模块名称 :在当前模块打印的名称是 __main__ 所有
条件通过,if __name__ == '__main__' 被执行了

注意 :所有模块在自己模块打印名称都是使用__name__直接去打印,
但是你在调用模块打印其他模块的名称,需要接上模块的路径

函数的调用方法
    1.直接通过函数名称调用函数
    2.通过主函数调用函数功能

函数当中的参数 :
def 函数名称():()是用来定义参数变量名称的,也叫形式参数

# def function(name):
#     print("name is :", name)

# # 调用函数时给形参赋值,此时传的值叫做实际参数
# # 通过参数名称赋值
# function(name="张三")                 # name is : 张三

# # 直接赋值
# function("李四")                      # name is : 李四

# def function(name, where, action):
#     print("name, where,action is", name, where, action)
#
# function("张三", "去武汉", "跑步")                          # name, where,action is 张三 去武汉 跑步
# function(name="李四", where="去北京", action="爬长城")      # name, where,action is 李四 去北京 爬长城

默认参数:
注意 :有默认值的参数必须写在没有默认值的参数的后面

# def function(name="张三",where="去北京",action="吃烤鸭"):
#     print(name, where, action)
# function()                          # 张三 去北京 吃烤鸭
# function("李四")                    # 李四 去北京 吃烤鸭
# function("李四", "南京")            # 李四 南京 吃烤鸭

# 定义 None 的默认值
# def function(name="张三",where=None,action=None):
#     print(name, where, action)
# function()                              # 张三 None None
# function("李四", "北京")                # 李四 北京 None

函数变量的使用 :
    1.全局变量 :当前变量下的所有内容都可以直接引用
    2.局部变量 :只在特定的作用域下生效
    3.global :声明局部变量为全局变量

# 定义一个变量 :
# age = 18
# def function():
#     # 局部变量是在函数体部定义,生效的范围只是在当前的函数中
#     number = 1000
#     # 申明局部变量为全局变量
#     global name
#     name = "张三"
#     print(age, number, name)

# function()                      # 18 1000 张三
# print(name)                     # 张三

可变长参数(可变长元组) :*
# def function(name, *args):
#     print(name, args)
#     print(type(args))           # <class 'tuple'>
# function(18,19)                 # 18 (19,)

可变长字典 :**
# def function(*args, **kwargs):
#     print(args, kwargs)
# function(11, 22, 33, name="张三", where="北京")             # (11, 22, 33) {'name': '张三', 'where': '北京'}
# function(**{"name":"张三"},**{"where":"北京"})              # () {'name': '张三', 'where': '北京'}

函数当中的return 语句 :
return :函数的返回值

# def function():                 # function 本身是没有属性的
#     print("hello word")
# print(function())               # None

# def function():                 # function 本身是没有属性的
#     return "hello word"         # 将hello word 这个属性赋给当前函数
# print(function())               # hello word

需求 :a 函数和b 函数 需要拿到a函数的结果参与b函数的运算
# def a():
#     number = 1000
#     return number
# def b():
#     number = a() / 2
#     print(number)
# b()                             # 500.0

return 返回多个结果
注意 :函数当中一旦碰到return语句立即返回结果,return下面
的语法将不会被执行

# def func():
#     return 1, 2, 3, 4, 5
#     print("hello word")
# print(func())                   # (1, 2, 3, 4, 5)

# 函数当中多个return ,只会执行一个return语句
# def func(a):
#     if a == 10:
#         return "a=10"
#     elif a < 10:
#         return "a<10"
#     else:
#         return "a>10"
# print(func(1))                      # a<10


return:
1.函数本身的属性为None,函数的属性是由return决定的,
return返回什么,当前的函数属性就是什么
2.return 语句返回的时候,后面没写内容,返回的结果也是None
3.return 可以返回多个结果,默认存储的类型是tuple类型
4.函数当中碰到return语句立刻返回结果,return语句下面的内容
不会被执行

函数 :可以理解为一个装代码的箱子(也叫做封装的概念)封装之后
的代码,方便后续的代码维护,提升了代码的扩展性,也提高了当前
代码的复用性


# def func(userAc, pwd):
#     username = input("请输入你的用户名:")
#     if username == userAc:
#         password = input("请输入你的密码:")
#         if password == pwd:
#             print("登录成功")
#         else:
#             print("密码错误")
#     else:
#         print("账号错误")
# func("zhangsan","123456")

格式化输出的方法 :% 格式化输出结果 :
format :格式化输出


# print("name: %s age: %s" % ("张三", 18))                  # name: 张三 age: 18
#
# # format 输出第一种方式
# print("name: {} age: {}".format("李四", 20))              # name: 李四 age: 20
# # format 输出第二种方式,索引取被传的值
# print("name: {1} age: {0}".format(20, "王五"))            # name: 王五 age: 20
#
# print("name: {0[1]} age: {0[0]}".format([23, "赵六"]))    # name: 赵六 age: 23
# print("name: {1} age: {0}".format(*[23, "赵六"]))         # name: 赵六 age: 23

# print("name: {name} age: {age}".format(**{"name":"牛七","age":55}))       # name: 牛七 age: 55
# print("name: {0[name]} age: {0[age]}".format({"name":"牛七","age":55}))   # name: 牛七 age: 55
#
# print("name: {name} age: {age}".format(name="荣八",age=30))               # name: 荣八 age: 30

f 的格式化输出方法:
# li1 = ["张三", 33]
# di = {"name":"牛七","age":55}
# print(f"name is:{li1[0]} age is:{li1[1]}")          # name is:张三 age is:33
# print(f"name is:{di['name']} age is:{di['age']}")   # name is:牛七 age is:55
#
# name = "王五"
# age = 17
# print(f"name is:{name} age is:{age}")               # name is:王五 age is:17

open() : 创建打开文件
mode : r(读)    w(写)   a(追加)

# file = open(r"D:\PycharmProjects\wuhan20\wuhan_20_demo\file.txt",mode="r",encoding="utf-8")
# 读取当前文件的所有内容
# print(file.read())                                  # 武汉20期
#                                                     # 哈哈哈哈
# 读取当前文件首行的内容
# print(file.readline())                              # 武汉20期
# 读取文件当中的所有内容,并显示在list当中
# print(file.readlines())                             # ['武汉20期\n', '哈哈哈哈']
# file.close()
读取文件的过程中,不要同时使用多个方法读取,会导致数据不准确

=============================写============================
# file = open(r"D:\PycharmProjects\wuhan20\wuhan_20_demo\file.txt",mode="w",encoding="utf-8")
# file.write("武汉多测师,鼎泰关南大厦,年前预报名,享受年前报名的价格")

# \n 也叫做转义字符 :作用换行 如果想要转义字符不生效前面加r
# file.writelines("武汉多测师,年前预报名,享受年前报名的价格")
# file.close()                # 关闭文件

# =============================追加============================
# file = open(r"D:\PycharmProjects\wuhan20\wuhan_20_demo\file.txt",mode="a",encoding="utf-8")
# file.write("\n鼎泰关南大厦418")
# file.close()

=============================with open============================
不需要手动关闭文件,它会自动关闭文件

# with open(r"D:\PycharmProjects\wuhan20\wuhan_20_demo\file.txt",mode="r",encoding="utf-8") as file:
#     print(file.read())
# print(file.read())                  # 报错,在外层执行过程中,文件已经被关闭了

分享至 : QQ空间
收藏

0 个回复

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