zoukankan      html  css  js  c++  java
  • Day09 函数

    定义函数的三种方式

    空函数

    def func():
    	pass
    

    当你不知道函数应该用代码实现时,可以先用空函数占位置

    有参函数

    def func(参数1, 参数2):
    	代码
    

    带参数的函数,参数可以为一个或多个,调用的时候必须要传入参数

    无参函数

    def func():
        代码
    

    没有任何参数,执行时不需要传入参数,直接执行函数内的代码

    函数的返回值

    什么是返回值

    函数内代码经过一系列逻辑处理之后得出的结果

    为什么要有返回值

    如果需要在程序中拿到函数中处理出来的结果,则需要函数必须要有返回值

    需要注意的是:

    1. return是一个函数结束的标志,函数内可以有多个return,只要执行到return,函数就结束
    2. return的返回值可以返回任意的数据类型
    3. return的返回值无个数限制
      • 0个:返回None
      • 1个:返回值是该值本身
      • 多个:返回值类型是元组

    函数的参数

    形参和实参

    形参

    在函数定义阶段括号里的定义的参数,称之为形式参数(形参),本质就是变量名

    实参

    在函数调用阶段括号内传入的参数,称之为实际参数(实参),本质就是变量的值

    位置参数

    位置形参

    在函数定义阶段,按照从左到右的顺序依次定义的形参,称为位置形参

    def func(num1, num2):
        print(num1)
        print(num2)
    

    特点:按照位置定义的形参,都必须被传值

    位置实参

    在函数调用的阶段,按照从左到右的顺序依次传入的实参,称为位置实参

    func(1, 2)
    

    特点:按照位置依次给函数传值

    默认形参

    在定义阶段,就已经被赋值

    def func(num1, num2 = 2):
        print(num1)
        print(num2)
    
    func(1)
    

    特点:在定义是已经被赋值,意味着调用时可以不用为其赋值

    注意:

    1. 位置形参必须放在默认形参的左边
    2. 默认形参的值只在定义的时候赋值一次,也就是说默认参数的值在定义函数的阶段已经固定了
    3. 通常默认参数的数据类型为不可变类型(数字型,字符串型)
    

    关键字实参

    在调用函数时,按照key = value的形式为指定的参数传值,称为关键字实参

    func(num1 = 1, num2 = 2)
    

    特点:可以打破位置的限制,但仍能为指定的形参赋值

    注意:

    1. 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边
    2. 可以混用位置实参和关键字实参,但不可以同时为同一个形参赋值
    

    注册函数

    def register():
        user_name = input('用户名:')
        user_password = input('密码:')
        if ':' in user_name:
            print('用户名不能含有":"')
        else:
            with open('user_info.txt', 'a', encoding='utf8') as fa:
                fa.write(f'{user_name}:{user_password}')
    

    登录函数

    def login():
        # 打开用户名密码文件
    tag = True
    while tag:
        with open('user_info.txt', 'r', encoding='utf8') as fr:
            user_info = fr.read()
        user_info_list = user_info.split(':')
        user_name, user_password = user_info_list[0], user_info_list[1]
    	# 输入用户名密码
        user_name_lg = input('用户名:')
        user_pwd_lg = input('密码:')
    	# 验证用户名密码是否正确
        if user_name_lg == user_name and user_pwd_lg == user_password:
            print('登陆成功')
            tag = Flase
        else:
            print('用户名密码错误,请重新输入')
    
  • 相关阅读:
    log4Net使用
    VS Code入门
    用VS Code写Python
    C#(99):LINQ查询操作符实例
    C#(99):LINQ to Objects(2)
    spring mvc 配置对静态资源的访问
    EntLib 自动数据库连接字符串加密
    块级格式化上下文( Block formatting contexts)
    Entlib DAAB映射枚举类型
    js 继承
  • 原文地址:https://www.cnblogs.com/2222bai/p/11448335.html
Copyright © 2011-2022 走看看