• Python函数基础


    Python函数基础

    1. 定义函数的三种方式

    空函数

    def func1():
        # TODO .....
        pass
    

    无参函数

    def fun1():
        print("test")
    

    有参函数

    def compare(a, b):
        if a > b:
            return True
    

    2. 函数的返回值

    • 函数可用return 返回值

    • return 可终止函数

    • return 可返回多个值,返回值之间用逗号隔开

    • 返回值可以是任意数据类型

    • 当无返回值时,默认返回None

    3. 函数的参数

    • 形参,定义函数时使用,一般具有描述意义,用于接收实参
    • 实参,调用函数时使用,具体的值
    • 形参有位置形参,默认形参
    • 实参有位置实参,关键字实参

    练习

    1. 编写注册函数, 将用户信息保存到文件内,用户信息可保存为`nick:123|sean:456|tank:789'

    2. 编写登录函数, 从文件内读取用户信息进行身份识别

    import os
    def check_forbid_char(input_str, forbid_str_list):
        for item in forbid_str_list:
            if item in input_str:
                return item
    def check_input(prompt, forbid_str):
        ans = input(prompt + "
    ").strip()
        item = check_forbid_char(ans, forbid_str)
        if item:
            print("输入中不允许出现%s" % item)
        elif len(ans) == 0:
            print("输入不能为空")
        else:
            return ans
    def register():
        forbid_str = '|:'
        name = check_input("请输入姓名", forbid_str)
        passwd = check_input("请数目密码", forbid_str)
        file_exists = os.path.exists(file_name)
        if name and passwd:
            with open(file_name, "a") as f:
                # 如果文件存在,写入数据前,加上分隔符 |
                if file_exists:
                    f.write("|")
                f.write(f"{name}:{passwd}")
            print('数据写入成功!')
        else:
            print('数据未写入,请重新输入')
    
    file_name = "user_infor.txt"
    def read_data():
        with open(file_name, "r") as f:
            all_users_infor = {}
            data = f.read().split("|")
            for user in data:
                user_infor = user.split(":")
                all_users_infor[user_infor[0]] = user_infor[1]
            return all_users_infor
    def login_in():
        # 读取用户信息
        data = read_data()
        name = input("请输入用户名:
    ").strip()
        passwd = input("请输入秘密:
    ").strip()
        if name in data.keys():
            if data[name] == passwd:
                print("登陆成功!")
            else:
                print("密码错误")
        else:
            print("用户名不存在")
    
    choose = input("注册请输入1,登陆请输入2:
    ").strip()
    if choose == "1":
        register()
    elif choose == "2":
        login_in()
    else: 
        print("输入选项错误")
    
  • 相关阅读:
    [转]Linux(Ubuntu)下如何安装JDK
    第一个MICO CORBA demo实录
    解决/usr/bin/ld: cannot find -lssl
    使用adb shell 进入手机修改文件的权限
    解决某些Android Permission denied
    Java 8新特性终极指南
    Win10系统出问题?简单一招即可修复win10!
    运行时数据区
    linux下vi命令大全
    关于java中final关键字与线程安全性
  • 原文地址:https://www.cnblogs.com/YajunRan/p/11448652.html
Copyright © 2020-2023  润新知