标签:函数定义 obb register flush rom 代码实现 语法 fail 遇到
函数是一种思想。
在程序中,函数就是具备某一功能的功能,事先讲工具准备好就是函数的定义,遇到场景拿来就用就是函数的调用。
我们如果过不使用函数的话,写程序时将会遇到三个问题:
1.程序冗长
2.程序的扩展性差
3.程序的可读性差
先定义函数,后调用:
def 函数名(param1,param2....):
    """
    函数功能的描述信息
    :param1 描述
    :param2 描述
    :return  返回值
    code1
    code2
    code3
    """
    
    return   返回值调用函数
函数名(param1、param2...)def register():
    # 注册功能
    username = input('username').strip()
    pwd = input('password').strip()
    
    with open('38a.txt','a',encoding='utf8') as fa:
        fa.write(f"{username}:{pwd}\n")
        fa.flush()
        
register()
# 复用
register()
register()def login():
    inp_username = input('username:').strip()
    inp_pwd = input('password:').strip()
    
    with open('38.txt','rt',encoding='utf8') as fr:
        for user_info in fr:
            user_info = user_info.strip('\n')
            user_info_list = user_info.split(':')
            if inp_username == user_info_list[0] and inp_pwd == user_info_list[1]:
                print('login succesdful')
                break
        
        else:
            print('failed')
login()def func():
    bar()    # 不属于语法错误,不会报错
    print('*'*10)只检测语法,不执行函数体代码
def bar():
    print('from bar')
def foo():
    print('from foo')
    bar()
foo()from foo
from bar
def foo():
    print('from foo')
    bar()
    
def bar():
    print('from bar')
foo()from foo
from bar
定义函数时参数是函数体接受外部值的一种媒介,其实就是一个变量名
在函数阶段括号内没有参数,称为无参函数。需要注意的是:定义时午餐,意味着调用时也无需传入参数。
如果函数体代码逻辑不需要依赖外部传入的值,必须得定义无参函数。
def func():
    print('hello world')
func()   # hello world在函数定义阶段括号内有参数,称为有参函数。需要注意的是:定义时有参,以为着调用时也必须传入参数。
如果函数体代码逻辑需要依赖外部传入的值,必须得定义有参函数。
def sum_self (x,y):
    res = x + y
    print(res)  # 3
    sum_self(1,2)当你只知道你需要实现某个功能,但还不知道该如何用代码实现时,就可以暂时写个空函数,然后先实现其他的功能。
def func():
    pass函数内部代码经过一些逻辑处理获得的结果。
def func(): 
    name = 'shiqi' 
    return name
name = func()
print(name)shiqi
return是一个函数结束的标志,函数内可以有多个return,只要执行到return,函数就会执行。
return的返回值可以返回任意数据类型
return的返回值无个数限制,即可以使用使用逗号隔开返回多个值。
? 0个:返回None
? 1个:返回值是该值本身
? 多个:返回值是元组
def max_self(salary_x,salary_y):
    if salary_x > salary_y:
        return salary_x
    else:
        return salary_y
max_salary = max_self(20000,30000)
print(max_salary*12)360000
返回多个值:
def func():
    name = 'shiqi'
    age = 17
    hobby_list = ['sing','junm','rap','basketball']
    return name,age,hobby_list
name,age,hobby_list = func()
print(f"i am {name},my age is{age},i like {hobby_list}")i am shiqi,my age is17,i like [‘sing‘, ‘junm‘, ‘rap‘, ‘basketball‘]
标签:函数定义 obb register flush rom 代码实现 语法 fail 遇到
原文地址:https://www.cnblogs.com/shiqizz/p/11514999.html