目次
関数の作成
関数では、括弧内のパラメータはパラメータを受け取るために使用されます。
でパラメータを区切ります
です。
案例:计算任意两个数字的和
模块基础
定义模块
基本概念
导入模块 (import)
模块加载 (load)
模块特性及案例
模块特性
ホームページ バックエンド開発 Python チュートリアル Python で関数を作成して呼び出す方法

Python で関数を作成して呼び出す方法

May 20, 2023 pm 12:13 PM
python

関数の作成

関数は def ステートメントで作成されます。構文は次のとおりです。

def 函数名(参数列表):  # 具体情况具体对待,参数可有可无
	"""函数说明文档字符串"""
    函数封装的代码
    ……
ログイン後にコピー

タイトル行は # で構成されます。 ##def キーワード、関数の名前、および

def を形成するための引数のセット (存在する場合) 句の残りの部分には、オプションですが高度な推奨される ドキュメントの単語 String 、および 必須の関数本体

関数名の命名 は、 # の命名規則に従う必要があります。 ##識別子

文字、アンダースコア、数字で構成できます
  • 数字で始めることはできません
  • キーワードと同じ名前はできません
  • def washing_machine():  # 洗衣机可以帮我们完成
        print("打水")
        print("洗衣服")
        print("甩干")
    ログイン後にコピー

    関数の呼び出し
関数を呼び出すには括弧 () のペアを使用します。括弧はありません。これは関数への単なる参照です
入力したパラメータはすべて括弧で囲む必要があります

# 凡例:

ケース: 洗剤を追加Python で関数を作成して呼び出す方法

def washing_machine():  # 洗衣机可以帮我们完成
    print("打水")
    print("加洗衣粉!!!")
    print("洗衣服")
    print("甩干")
# 早上洗衣服
washing_machine()
# 中午洗衣服
washing_machine()
# 晚上洗衣服
washing_machine()
ログイン後にコピー

##概要

Python で関数を作成して呼び出す方法

関数を定義した後は、この関数がコードの一部をカプセル化することを意味するだけです。これですべてです。

    関数をアクティブに呼び出さなければ、関数はアクティブには実行されません
  • 思考

関数呼び出し

関数定義
    の上に置いてもいいでしょうか?
  • #無理です!

  • 関数名を使用して関数を呼び出す前に、
      Python
    • が関数の存在を既に認識していることを確認する必要があります

    • それ以外の場合は、コンソールにプロンプ​​トが表示されます。

      NameError: name 'menu' is not generated (Name error: the name menu is not generated)

    • 関数のパラメータ仮パラメータと実パラメータ

    • ##仮パラメータ
    :
定義時

関数では、括弧内のパラメータはパラメータを受け取るために使用されます。

は関数内の変数として使用されます
  • 実際のパラメータ : 関数を呼び出すとき、括弧内のパラメータは 関数の内部にデータを渡すために使用されます

  • 質問 他のものを洗浄したい場合は、メソッド内のコードを手動で変更する必要があります:

    def washing_machine():  # 洗衣机可以帮我们完成
        print("打水")
        print("加洗衣粉!!!")
        print("洗床单")  # 洗被套
        print("甩干")
    ログイン後にコピー
    関数内には特定の変更値があります:

    def washing_machine():  # 洗衣机可以帮我们完成
        print("打水")
        print("加洗衣粉!!!")
        print("洗衣服")
        print("甩干")
    washing_machine()
    def washing_machine():  # 洗衣机可以帮我们完成
        print("打水")
        print("加洗衣粉!!!")
        print("洗床单")
        print("甩干")
    washing_machine()
    ......
    ログイン後にコピー
考えてみると何が問題なのでしょうか?

##この関数は固定データしか処理できません

##どうやって解決しますか?

関数呼び出し時に、処理が必要なデータを関数内に渡すことができれば良いですね!

パラメータを渡す

関数名の後の括弧を埋めます

パラメータ

その他の使用

,
でパラメータを区切ります
  • 関数を呼び出すとき、実パラメータの数は仮パラメータの数と一致している必要があり、実パラメータが渡されます。パラメータ

    def washing_machine(something):  # 洗衣机可以帮我们完成
        print("打水")
        print("加洗衣粉!!!")
        print("洗" + something)
        print("甩干")
    # 洗衣服
    washing_machine("衣服")
    # 洗床单
    washing_machine("床单")
    ログイン後にコピー
  • 凡例

  • def washing_machine(xidiji,something):  # 洗衣机可以帮我们完成
        print("打水")
        print("加" + xidiji)
        print("洗衣服" + something)
        print("甩干")
    #早上洗衣服
    #按照参数位置顺序传递参数的方式叫做位置传参
    #使用洗衣机,执行洗衣机内部的逻辑
    washing_machine("洗衣液","衣服")#something = 衣服
    #中午洗被罩
    washing_machine("洗衣粉","被罩")# something = 被罩
    #晚上洗床单
    washing_machine("五粮液","床单")# something = 床单
    ログイン後にコピー
  • Function

関数は、独立した関数を持つコード ブロックを小さなモジュールに編成し、汎用性を高めるために必要に応じて

関数のパラメーターを呼び出します。関数とターゲットは同じ データ処理ロジックはより多くのデータに適応できます

Python で関数を作成して呼び出す方法

#1.関数内でパラメータを変数として使用して、必要なデータ処理を実行します

2. 関数呼び出し 関数で定義されたパラメータの順序に従って、関数内で処理したいデータをパラメータを通して渡す場合

位置パラメータ
  • と同様ですシェル

    スクリプト、
  • プログラム 名前とパラメータは、
  • sys

    モジュールの

    argv
  • リストを使用して位置パラメータとしてPythonプログラム
に渡され、

# 凡例

##デフォルト パラメータデフォルト パラメータは、デフォルト値を宣言するパラメータです。パラメータにはデフォルト値が与えられているため、関数を呼び出すときに使用されます。パラメータに値を渡さないこともできます。関数の戻り値

##プログラム開発では、

関数を実行したい場合があります。終了後に、呼び出し元に結果を通知します。 これにより、呼び出し元は特定の結果に対して後続の処理を実行できます

Python で関数を作成して呼び出す方法#戻り値

は、作業を完了する関数
です。
の後、

finally は呼び出し元の に結果を返します

  • return キーワードは関数 Return results で使用できます。

  • 调用函数一方,可以 使用变量接收 函数的返回结果

案例:计算任意两个数字的和
# 函数的返回值: return, 用于对后续逻辑的处理
# 理解: 把结果揣兜里,后续想干啥干啥,想打印打印,想求和就求和
# 注意:
# a. 函数中如果没有return,那么解释器会自动加一个return None
# b. return表示函数的终止,return后的代码都不会执行
# 1 定义一个函数,计算两个数的和
# 2 计算这两个数的和是不是偶数
def get_sum(x, y=100):  # 默认参数
    he = x + y  # sum = 10 + 20
    return he   # return 30
    print("return表示函数的终止,return后的代码都不会执行")
# 将函数return后的结果赋值给变量dc: dc = sum  ->  dc = 30
dc = get_sum(10, 20)  # x = 10, y = 20
print("dc:", dc)  # 30
dc1 = get_sum(10)  # x = 10, y = 100
print("dc1:", dc1)  # 110
# if dc % 2 == 0:
#     print("偶数")
# else:
#     print("奇数")
ログイン後にコピー
#默认参数
#注意:具有默认值的参数后面不能跟没有默认值的参数
def get_sum(a=20,b=5,c=10):
    he = a + b+ c
    return he
 
dc = get_sum(1,2,3) #a=1 b=2 c=3
print("dc:",dc) # 6
dc1 = get_sum(1,2)  # a=1 b=2 c=10
print("dc1:",dc1) # 13
dc2 = get_sum(1)  # a=1 b=5 c=10
print("dc2:",dc2) # 16
dc3 = get_sum()
print("dc3:",dc3) # 35
ログイン後にコピー

Python で関数を作成して呼び出す方法

修改菲波那切数列

def new_fib(n=8):
    list01 = [0,1]  #定义列表,指定初始值
    for dc in range(n-2):
        list01.append(list01[-1]+list01[-2])
    return list01
 
dc = new_fib()   #不加参数默认是8
dc1 = new_fib(10)
print("dc:",dc)
print("dc1:",dc1)
ログイン後にコピー

Python で関数を作成して呼び出す方法

生成随机密码:

#练习:生成随机密码
#创建 randpass.py 脚本,要求如下:
#编写一个能生成8位随机密码的程序
#使用 random 的 choice 函数随机取出字符
#由用户决定密码长度
import random
def new_password():
    n = int(input("密码长度:"))
    password = ""
    all = "0123456789zxcvbnmlkjhgfdsaqwertyuiopPOIUYTREWQASDFGHJKLMNBVCXZ" # 0-9 a-z A-Z
    random.choice(all)
    for i in range(n):
        dc = random.choice(all)
        password += dc
    # print("passwd:",password)
    return password
# 调用函数,才能执行函数内部逻辑
dc = new_password()
print("dc:",dc)
ログイン後にコピー

Python で関数を作成して呼び出す方法

#练习:生成随机密码
#创建 randpass.py 脚本,要求如下:
#编写一个能生成8位随机密码的程序
#使用 random 的 choice 函数随机取出字符
#由用户决定密码长度
import random,string
def new_password():
    n = int(input("密码长度:"))
    password = ""
    all = string.ascii_letters + string.digits
    random.choice(all)
    for i in range(n):
        dc = random.choice(all)
        password += dc
    # print("passwd:",password)
    return password
# 调用函数,才能执行函数内部逻辑
dc = new_password()
print("dc:",dc)
ログイン後にコピー

Python で関数を作成して呼び出す方法

模块基础

定义模块
基本概念
  • 模块是从逻辑上组织python代码的形式

  • 当代码量变得相当大的时候,最好把代码分成一些有组织的代码段,前提是保证它们的 彼此交互

  • 这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数

导入模块 (import)
  • 使用 import 导入模块

  • 模块属性通过 “模块名.属性” 的方法调用

  • 如果仅需要模块中的某些属性,也可以单独导入

为什么需要导入模块?

可以提升开发效率,简化代码

Python で関数を作成して呼び出す方法

正确使用

# test.py,将 file_copy.py 放在同级目录下
# 需求:要将/etc/passwd复制到/tmp/passwd
src_path = "/etc/passwd"
dst_path = "/tmp/passwd"
# 如何复制?
# 调用已有模块中的方法
#    - 很推荐,简单粗暴不动脑
#    - 直接使用 file_copy.py的方法即可
 
# 导入方法一:直接导入模块
import file_copy  # 要注意路径问题
file_copy.copy(src_path, dst_path)
 
# 导入方法二:只导入 file_copy 模块的 copy 方法
from file_copy import copy  # 如果相同时导入多个模块 from file_copy import *
copy(src_path, dst_path)
 
# 导入方法四:导入模块起别名 as
import file_copy as fc
fc.copy(src_path, dst_path)
ログイン後にコピー

常用的导入模块的方法

  • 一行指导入一个模块,可以导入多行, 例如:import random

  • 只导入模块中的某些方法,例如:from random import choice, randint

模块加载 (load)
  • 一个模块只被 加载一次,无论它被导入多少次

  • 只加载一次可以 阻止多重导入时,代码被多次执行

  • 如果两个文件相互导入,防止了无限的相互加载

  • 模块加载时,顶层代码会自动执行,所以只将函数放入模块的顶层是最好的编程习惯

模块特性及案例
模块特性

模块在被导入时,会先完整的执行一次模块中的 所有程序

案例

# foo.py
print(__name__)
 
# bar.py
import foo  # 导入foo.py,会将 foo.py 中的代码完成的执行一次,所以会执行 foo 中的 print(__name__)
ログイン後にコピー

结果:

# foo.py -> __main__ 当模块文件直接执行时,__name__的值为‘__main__’
# bar.py -> foo 当模块被另一个文件导入时,__name__的值就是该模块的名字

Python で関数を作成して呼び出す方法

所以我们以后在 Python 模块中执行代码的标准格式:

def test():
    ......
if __name__ == "__main__":
    test()
ログイン後にコピー

以上がPython で関数を作成して呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

CentosのPytorchのGPUサポートはどのようにサポートされていますか CentosのPytorchのGPUサポートはどのようにサポートされていますか Apr 14, 2025 pm 06:48 PM

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

ミニオペンCentosの互換性 ミニオペンCentosの互換性 Apr 14, 2025 pm 05:45 PM

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

CentosでPytorchの分散トレーニングを操作する方法 CentosでPytorchの分散トレーニングを操作する方法 Apr 14, 2025 pm 06:36 PM

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

CentosでPytorchバージョンを選択する方法 CentosでPytorchバージョンを選択する方法 Apr 14, 2025 pm 06:51 PM

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

NginxをCentosにインストールする方法 NginxをCentosにインストールする方法 Apr 14, 2025 pm 08:06 PM

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。

See all articles