目次
関数の作成
##仮パラメータ
定義時
に渡されます。
#関数を実行する必要がある場合があります。終了後に呼び出し元に結果を通知する
は、作業を完了するための関数
案例:计算任意两个数字的和
模块基础
定义模块
基本概念
导入模块 (import)
模块加载 (load)
模块特性及案例
模块特性
ホームページ バックエンド開発 Python チュートリアル Python で関数を作成して呼び出すにはどうすればよいですか?

Python で関数を作成して呼び出すにはどうすればよいですか?

May 08, 2023 pm 07:13 PM
python

関数の作成

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

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

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

def を形成する引数のセット (存在する場合)。句の残りの部分には、オプションですが強く推奨される docstring# が含まれます。 ##、および 必須関数本体

関数名

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

は文字、アンダースコア、数字で構成できます
  • 数字で始めることはできません
  • キーワードと同じ名前
  • 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 (

      NameError: the name menu is not generated
    • )
    • 関数のパラメータ

      仮パラメータと実パラメータ

##仮パラメータ

:

定義時

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

    関数を呼び出すとき、括弧内のパラメーターは関数内の
  • にデータを渡すために使用されます
  • Question

    他のものを洗浄したい場合は、メソッド内のコードを手動で変更する必要があります:
  • 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()
......
ログイン後にコピー
Thinking 何が問題ですか?

この関数は固定データのみを処理できます

#それを解決するにはどうすればよいですか?

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

パラメータを渡す

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

Parameters

  • その他の使用

    , でパラメータを区切ります

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

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

  • 位置パラメータ
  • と同様ですshell
  • スクリプト、
program 名前とパラメータは、

sys

モジュールの

argv

リストを使用して、位置パラメータの形式で Python プログラム

に渡されます。

凡例デフォルトパラメータ

デフォルトパラメータは、

デフォルト値を宣言するパラメータです。パラメータにはデフォルト値が代入されているため、関数呼び出し時にパラメータに値を渡さなくても構いません

関数の戻り値

Python で関数を作成して呼び出すにはどうすればよいですか?

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

#関数を実行する必要がある場合があります。終了後に呼び出し元に結果を通知する

これにより、呼び出し元は特定の結果に対して後続の処理を実行できます

#戻り値

は、作業を完了するための関数

です。
    その後、
  • Finally

    が呼び出し元に result

    を返します。
  • 在函数中使用 return 关键字可以返回结果

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

案例:计算任意两个数字的和

# 函数的返回值: 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:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

Python:ゲーム、GUIなど Python:ゲーム、GUIなど Apr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Debian Readdirが他のツールと統合する方法 Debian Readdirが他のツールと統合する方法 Apr 13, 2025 am 09:42 AM

DebianシステムのReadDir関数は、ディレクトリコンテンツの読み取りに使用されるシステムコールであり、Cプログラミングでよく使用されます。この記事では、ReadDirを他のツールと統合して機能を強化する方法について説明します。方法1:C言語プログラムを最初にパイプラインと組み合わせて、cプログラムを作成してreaddir関数を呼び出して結果をinclude#include#include inctargc、char*argv []){dir*dir; structdireant*entry; if(argc!= 2){(argc!= 2){

Pythonと時間:勉強時間を最大限に活用する Pythonと時間:勉強時間を最大限に活用する Apr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Nginx SSL証明書更新Debianチュートリアル Nginx SSL証明書更新Debianチュートリアル Apr 13, 2025 am 07:21 AM

この記事では、DebianシステムでNGINXSSL証明書を更新する方法について説明します。ステップ1:最初にCERTBOTをインストールして、システムがCERTBOTおよびPython3-Certbot-Nginxパッケージがインストールされていることを確認してください。インストールされていない場合は、次のコマンドを実行してください。sudoapt-getupdatesudoapt-getinstolcallcertbotthon3-certbot-nginxステップ2:certbotコマンドを取得して構成してlet'sencrypt証明書を取得し、let'sencryptコマンドを取得し、nginx:sudocertbot - nginxを構成します。

DebianのGitlabのプラグイン開発ガイド DebianのGitlabのプラグイン開発ガイド Apr 13, 2025 am 08:24 AM

DebianでGitLabプラグインを開発するには、特定の手順と知識が必要です。このプロセスを始めるのに役立つ基本的なガイドを以下に示します。最初にgitlabをインストールすると、debianシステムにgitlabをインストールする必要があります。 GitLabの公式インストールマニュアルを参照できます。 API統合を実行する前に、APIアクセストークンを取得すると、GitLabのAPIアクセストークンを最初に取得する必要があります。 gitlabダッシュボードを開き、ユーザー設定で「アクセストーケン」オプションを見つけ、新しいアクセストークンを生成します。生成されます

debian opensslでHTTPSサーバーを構成する方法 debian opensslでHTTPSサーバーを構成する方法 Apr 13, 2025 am 11:03 AM

DebianシステムでHTTPSサーバーの構成には、必要なソフトウェアのインストール、SSL証明書の生成、SSL証明書を使用するWebサーバー(ApacheやNginxなど)の構成など、いくつかのステップが含まれます。 Apachewebサーバーを使用していると仮定して、基本的なガイドです。 1.最初に必要なソフトウェアをインストールし、システムが最新であることを確認し、ApacheとOpenSSL:sudoaptupdatesudoaptupgraysudoaptinstaをインストールしてください

Apacheとは何ですか Apacheとは何ですか Apr 13, 2025 pm 12:06 PM

アパッチはインターネットの背後にあるヒーローです。それはWebサーバーであるだけでなく、膨大なトラフィックをサポートし、動的なコンテンツを提供する強力なプラットフォームでもあります。モジュラー設計を通じて非常に高い柔軟性を提供し、必要に応じてさまざまな機能を拡張できるようにします。ただし、モジュール性は、慎重な管理を必要とする構成とパフォーマンスの課題も提示します。 Apacheは、高度にカスタマイズ可能で複雑なニーズを満たす必要があるサーバーシナリオに適しています。

See all articles