機能とは何ですか
簡単に言えば、機能がされているプロセスである「プロセスの入力と出力の由来します。」また、特定のタスクを達成するためのツールとして見ることができます。私たちはしばしば、この特定のタスクを完了する必要がある場合、我々はツールとしてパッケージ標準化プロセス全体の後にこのタスクを完了することができるようになります。直接あなたがすぐに所望の出力を得ることができ、必要なときにお電話の際は、単に必要なパラメータを入力して呼び出します。
関数定義:
定義の登録機能
def register():
username_inp = input('请输入你的用户名: ')
print('username_inp: ',username_inp)
pwd_inp = input('请输入你的密码: ')
print('pwd_inp: ',pwd_inp)
with open('username_info.txt','a',encoding = 'utf8') as fa:
if':' in username_inp:
print('输入错误,用户名不能含有冒号')
else:
fa.write(f'{username_inp}:{pwd_inp}')
print('保存成功')
ログイン機能を定義します。
def login():
with open('username_info.txt','r',encoding='utf8') as fr:
data = fr.read()
data_split = data.split(':')
username,pwd = data_split[0],data_split[1]
username_inp = input('请输入你的用户名: ')
pwd_inp = input('请输入你的密码: ')
if username == username_inp and pwd == pwd_inp:
print('登录成功')
else:
print('登录失败')
register()
login()
機能の3つの定義フォーム
# 1、空函数
def register():
TODO # 先站住位置,后期根据需要补充
pass
# 2、带参函数
# 2.1 参数固定
def compare():
x = 10 # 参数固定的函数
y = 20 # 参数固定的函数
if x > y:
print(x)
else:
print(y)
compare() # 调用函数
# 运行结果显示为:20
# 2.2 参数不固定
def compare(x,y): # 参数没固定,需要输入参数的函数,在括号中声明
if x > y:
print(x)
else:
print(y)
compare(12,23) # 调用函数
# 运行结果显示为:23
# 3、无参函数
def func():
print(1)
func() # 调用函数
# 运行结果显示为:1
関数の戻り値
def add(x,y): # 定义一个函数
print(x+y)
add(1,2) # 调用函数
# 当我们不需要打印函数计算结果,只需要调用这个结果时,就只需用return返回这个结果
def add(x, y): # 定义一个函数
return x+y # 指定返回函数结果
add(1,2) # 调用函数后,没有显示结果值,但结果值在内存中待用,可以赋给变量名
res = add(1,2) # 返回的结果值赋给res
print(res) # 打印res显示: 3
def add(x, y): # 定义一个函数
print(x+y)
return x+y # 指定返回函数结果
print(9)
res = add(1,2) # 返回的结果值赋给res
print(res)
# 运行结果显示为:3 3
# 没有打印 9 ,因为函数中的return有结束函数的作用,所以return之后的代码不会被执行,此处print(9)不会被执行
def add(x, y): # 定义一个函数
return (x,y,x+y)
res = add(1,2)
print(res)
# # 运行结果显示为:(1, 2, 3),因为return可以返回任意数据类型
def add(x, y): # 定义一个函数
return x,y,x+y
res = add(1,2)
print(res)
# 运行结果显示为:(1, 2, 3),因为return不加括号返回多个值时,默认以元组的数据形式返回
def add(x, y):
return x+y
res = add(1,2)
print(res*5) # 调用函数后得到的返回值可以用于后续使用
# 运行结果显示为:15
関数のパラメータ
def compare(x,y): # x,y皆为形参,相当于变量名,具有描述意义,接受赋值
if x > y:
print(x)
else:
print(y)
compare(2,3)
# 2和3为实参,实际用于运算的参数,相当于变量值,此处用于给形参赋值
# 位置形参-->位置实参,从左到右一一对应赋值,不可多不可少,
# 默认形参:给位置形参一个默认值,即成为默认形参,调用函数时不必给其传值,有需要也可给其传值
def compare(x,y=3): # x,y皆为形参,相当于变量名,具有描述意义,接受赋值
if x > y:
print(x)
else:
print(y)
compare(2) # 此时2是传给x的,运行结果显示为:3
compare(2,1) # 需要改变默认形参y的值时,可以把新的值传1给他,运行结果显示为:2
def compare1(num1,num2):
if num1 > num2:
return num1
else:
return num2
def compare(x1,x2,x3,x4):
res1 = compare1(x1,x2)
res2 = compare1(x3,x4)
res3 = compare1(res1,res2)
return res3
res = compare(2,5,6,9)
print(res)
# 打印结果显示为:9
# 当参数过多时,我们可以按照位置形参名赋值,也可进行关键字参数赋值,如下所示:
res = compare(2,5,x4=9,x3=6) # 关键字参数和默认参数必须在位置形参后边
print(res)
# 打印结果显示为:9
# 定义函数的参数时,最好是规定清楚需要输入的的参数类型和返回值的数据类型
def f1(num:list, target:int) -> int:
print(num,target)
return 1
f1([1,2],3) # 输入参数时,注意格式符合函数定义的参数格式
求人:
図4に示すように、登録機能の調製
ファイルに格納されているユーザ情報が、ユーザー情報は、次のように保存することができますnick:123|sean:456|tank:789
# 定义注册函数
def register():
username_inp= input('请输入你的用户名: ')
if ':' in username_inp:
print('输入错误,用户名不能含有冒号')
# print('username_inp: ',username_inp)
pwd_inp = input('请输入你的密码: ')
# print('pwd_inp: ',pwd_inp)
with open('usernames_info.txt','a',encoding = 'utf8') as fa:
fa.write(f'{username_inp}:{pwd_inp},')
print('保存成功')
register()
5、ログイン機能を書きます
ユーザー情報は、ファイル識別から読み込まれます
# 定义登录函数
def login():
with open('usernames_info.txt','r',encoding='utf8') as fr:
data = fr.read()
data_split = data.split(',')
dic = {}
for i in data_split[0:-1]:
i_split = i.split(':')
dic[i_split[0]] = i_split[1]
username_inp = input('请输入你的用户名: ')
pwd_inp = input('请输入你的密码: ')
if username_inp in dic and dic[username_inp] == pwd_inp:
print('登录成功')
else:
print('登录失败')
login()