関数の基礎
定義された関数
この関数はアイデアです。
プログラムでは、関数の機能を持っている機能は、このツールは、事前に話をする準備ができている関数の定義で、呼び出し側の関数によってもたらされる場面に遭遇しました。
なぜ、利用機能
我々は機能を使用していなかった場合は、プログラムを書くとき、あなたは3つの問題が発生します。
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()
FOOから
バーから
def foo():
print('from foo')
bar()
def bar():
print('from bar')
foo()
FOOから
バーから
定義された関数の三つの形式
引数なしの機能
あなたが定義する場合、関数のパラメータは、実際には、変数名を身体の外部値を受け入れるために、メディアの関数であり、
カッコ内の位相関数のパラメータありませんが、関数は引数なしで呼び出されます。なお:あなたは昼食を定義するときに、入ってくるパラメータを呼び出す必要がないことを意味します。
関数が入ってくるコードの論理値の外部体に依存する必要がない場合、パラメータは関数を定義する必要がありません。
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
なぜ、戻り値があるはずです
復帰機能が端の兆候である限り実行として返すために、関数内の複数のリターンが存在することができる、機能が実行されます。
リターンの戻り値は、任意のデータ型を返すことができます
カンマで区切って複数の値を返すために使用することができる数に戻り値を制限なしに返しません。
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}")
私はshiqiよ、私の年齢のis17、私は[ 'バスケットボール'、 '歌う'、 'junm'、 'ラップ']好き