首页 > 编程语言 > 详细

Python函数基础

时间:2019-09-02 20:18:12      阅读:61      评论:0      收藏:0      [点我收藏+]

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 + "\n").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("请输入用户名:\n").strip()
    passwd = input("请输入秘密:\n").strip()
    if name in data.keys():
        if data[name] == passwd:
            print("登陆成功!")
        else:
            print("密码错误")
    else:
        print("用户名不存在")

choose = input("注册请输入1,登陆请输入2:\n").strip()
if choose == "1":
    register()
elif choose == "2":
    login_in()
else:while 
    print("输入选项错误")

Python函数基础

原文:https://www.cnblogs.com/YajunRan/p/11448652.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!