猫の兄は、モジュールの爬虫類を書くためにあなたを教えます026--

モジュールとは何ですか?

クラス変数や関数は、カプセル化されています

モジュールは、プログラムの組織単位の最高レベルです。これが意味することは、何がモジュールをカプセル化することができるということです

モジュールでは、変数のストレージを指示することができないだけでなく、ストレージ機能は、クラスを保存することができます

割り当てを必要な変数の定義、ラッパー関数が必要DEF文のラッパークラスを必要とするクラス文を、

しかし、文は任意のカプセル化モジュールを必要としません。

各個々のPythonコードファイル(拡張子である**。Pyの**ファイル)別個のモジュールであります

パッケージモジュールの目的のために再び一緒に使用するためのプログラムコードおよびデータを格納することです。

クラスや関数の中にカプセル化された場合は、主に自分の呼び出しを容易にするために、

しかし、パッケージモジュールは、我々だけでなく、自身の使用、ファイルを簡単に他の人と共有することができるとして使用することができます

モジュールを使用して、主に二つの方法がありますが、一つは、独自のモジュールを確立し、他の誰かの共有モジュールを使用している他のものを使用することです

独自のモジュール

メインプログラムファイル内のPy、使用インポート他のファイルPYをインポートする声明を

モジュールをインポートするimport文を使用して、モジュールで実行されない文を実行する主な目的は、

しかし、モジュール変数、関数、クラスとパッケージ化されていると

出力コードを分析し...

# test.py
a = '我是模块中的变量a'
def hi():
    a = '我是函数里的变量a'
    print('函数“hi”已经运行!')
class Go1(): 
    a = '我是类1中的变量a'
    @classmethod
    def do1(cls):
        print('函数“do1”已经运行!')
class Go2:
    a = '我是类2中的变量a'
    def do2(self):
        print('函数“do2”已经运行!')
print(a) 
hi() 
print(Go1.a) 
Go1.do1() 
A = Go2() 
print(A.a) 
A.do2() 
复制代码

別のファイル内のファイルの導入...(解析結果が出力さ...)

# index.py
import test  
print(test.a)  
test.hi()  
print(test.Go1.a)   
test.Go1.do1()  
A = test.Go2()  
print(A.a)  
A.do2()  
复制代码

山一度...

sentence = '从前有座山,'
def mountain():
    print('山里有座庙,')
class Temple:
    sentence = '庙里有个老和尚,'
    @classmethod
    def reading(cls):
        print('在讲故事,')
class Story:
    sentence = '一个长长的故事。'
    def reading(self):
        print('讲的什么故事呢?')
for i in range(10):
    print(sentence)
    mountain()
    print(Temple.sentence)
    Temple.reading()
    A = Story()
    print(A.sentence)
    A.reading()
    print()
复制代码

コードは、2つのモジュールに分割にステートメントを実行するmain.pyファイル内の変数、関数、クラスをパッケージ化story.pyのファイル

# main.py
import story
for i in range(10):
    print(story.sentence)
    story.mountain()
    print(story.Temple.sentence)
    story.Temple.reading()
    A = story.Story()
    print(A.sentence)
    A.reading()
    print()
复制代码
# story.py
sentence = '从前有座山,'
def mountain():
    print('山里有座庙,')
class Temple:
    sentence = '庙里有个老和尚,'
    @classmethod
    def reading(cls):
        print('在讲故事,')
class Story:
    sentence = '一个长长的故事。'
    def reading(self):
        print('讲的什么故事呢?')
复制代码

エイリアスからモジュールまで...

その輸入の話が長すぎる、あなたが使用することができるのSとして輸入物語個々の名前の「s」を取るために「物語」のために意味の文を、

# main.py
import story as s
for i in range(10):
    print(s.sentence)
    s.mountain()
    print(s.Temple.sentence)
    s.Temple.reading()
    A = s.Story()
    print(A.sentence)
    A.reading()
    print()
复制代码

複数のモジュールをインポートする必要がコンマで分離することができる場合。

例の場合は、インポートA、B、Cは同時に"a.py、b.py、c.py" 3つの文書を導入することができます。

私は、モジュール、または特定の機能を持つ変数をしたい場合は?

...インポート...声明

**から...インポート... **文は、現在のモジュールへのモジュールから指定された部分をインポートすることができます

# 【文件:test.py】
def hi():
    print('函数“hi”已经运行!')
# 【文件:main.py】
from test import hi  # 从模块test中导入函数“hi”
hi()  # 使用函数“hi”时无需加上“模块.”前缀
复制代码

指定されたモジュールの複数のコンテンツをインポートする必要があり、カンマで区切って記述することができるインポートA、B、C XXモジュールから

from test import a,hi,Go1,Go2
print(a)  # 打印变量“a”
hi()  # 调用函数“hi”
print(Go1.a)  # 打印类属性“a”
Go1.do1()  # 调用类方法“Go1”
A = Go2()  # 实例化“Go2”类
print(A.a)  # 打印实例属性“a”
A.do2()  # 调用实例方法“do2”
复制代码

以下のための...インポート... 文は注意すべきである、で書かれていないインポートコンテンツの背後にインポートされません

from test import hi # 从模块test中导入函数“hi”
hi()
# 以下语句将会导致报错,因为并没有导入test模块,只是导入test模块中的函数“hi”
test.hey()
复制代码

私たちが直接使用されるモジュールから、すべてのコンテンツを指定する必要がある場合、

*「すべての変数、関数、クラスモジュール」の略で、xxは、モジュールのインポート* **フォームから[**]のように記述することができます

from test import *
print(a)  # 打印变量“a”
hi()  # 调用函数“hi”
print(Go1.a)  # 打印类属性“a”
Go1.do1()  # 调用类方法“Go1”
A = Go2()  # 实例化“Go2”类
print(A.a)  # 打印实例属性“a”
A.do2()  # 调用实例方法“do2”
复制代码

xxxのインポート*と輸入XXXの違い

if __name__ == '__main__'

__name__組み込み変数、現在のファイルは次のように表示されています__main__

PYファイルは、モジュールとして、他のファイルに導入されている場合、__name__それはPYファイル名になります

両方の自分自身の使用のため、PYファイルをしようが、彼...

__name__組み込み変数

現在のファイル、その値が__main__、他のは、そのファイル名は、モジュールPYファイルとして導入され

他のモジュールの導入

import time # 引入的第三方模块
print('第一句话,过两秒出现第二句。')
time.sleep(2)
print('第二句话。')
复制代码

ピップを使用してください

すべてのパッケージにピップリストの一覧を表示

パッケージはピップリストをアップグレードする必要がある参照してください/ PIPリスト-oを--outdated

ピップアンインストールアンインストールパッケージのパッケージ名ピップ

+モジュールの名前をインストールPIPオンラインインストール

SomePackage最新バージョンをインストールPIP

ピップSomePackageの==に1.0.4指定したバージョンをインストールします

ピップ「SomePackage> = 1.0.4」最小バージョンをインストールします

--upgradeモジュールアップグレードパッケージの名前をインストールするPIP

加速するPIP

パス:C:\ Users \ユーザー管理\ PIP \ pip.ini

コンテンツ:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
复制代码

インストールWHLピップ(オフラインインストール)

www.lfd.uci.edu/~gohlke/pyt...

ダウンロードするには、インストール

輸出インストールパッケージピップフリーズ> requirements.txt

astroid==2.2.5
autopep8==1.4.4
beautifulsoup4==4.7.1
certifi==2019.3.9
chardet==3.0.4
colorama==0.4.1
idna==2.8
isort==4.3.20
lazy-object-proxy==1.4.1
lxml==4.3.3
mccabe==0.6.1
natsort==6.0.0
pies==2.6.7
pprint==0.1
pycodestyle==2.5.0
pylint==2.3.1
PyMySQL==0.9.3
python-docx==0.8.10
reqeusts==1000.0.0
requests==2.22.0
six==1.12.0
soupsieve==1.9.1
typed-ast==1.3.5
urllib3==1.25.3
wrapt==1.11.1
复制代码

インストールパッケージ-r requirements.txtをインストールPIP導入

モジュールを習得するには?

表示モジュールファイルの場所

import random
print(random.__file__)
复制代码

我々ときfrom random import *、私たちは何を導入したとき?

https://docs.python.org/3.6/library/random.html公式ドキュメントを読みます

または直接Baiduの検索

ユースケースコードノートを作ります...

import random  # 调用random模块
a = random.random()  # 随机从0-1之间抽取一个小数
print(a) # 0.22
a = random.randint(0,100)  # 随机从0-100之间抽取一个数字
print(a) # 66
a = random.choice('abcdefg')  # 随机从字符串/列表/字典等对象中抽取一个元素(可能会重复)
print(a) # c
a = random.sample('abcdefg', 3) # 随机从字符串/列表/字典等对象中抽取多个不重复的元素
print(a) # ['d', 'a', 'e']
items = [1, 2, 3, 4, 5, 6]  # “随机洗牌”,比如打乱列表
random.shuffle(items)
print(items) # [3, 2, 6, 4, 1, 5]
复制代码

あなたはそれがすべての変数が含まれているかどうかを確認するためにモジュールを表示するには、** DIR()**機能、関数、クラス、クラスのメソッドを使用することができます

特定の機能を検索する...(シード)

小さな仕事:自習時間や日時のモジュールは、コードのノートを作った、皆に説明

クイックジャンプ:

猫の兄弟は爬虫類000--を書くためにあなたを教えた.md始まる
猫の兄弟爬虫類001を書くためにあなたを教える-印刷()関数と変数た.md
猫の兄弟は爬虫類002--仕事を書くためにあなたを教える-ピカチュウた.md印刷
猫の兄弟は爬虫類を書くためにあなたを教えます003データ型変換た.md
猫の兄弟爬虫類004--データ型変換を書くためにあなたを教える-小さな実践がた.md
猫の兄弟を爬虫類005--データ型変換を書くためにあなたを教える-小さな仕事はた.md
猫の兄弟が爬虫類を書くためにあなたを教えます006- -条件付きとネストされた条件は、た.md
小さなオペレーティングた.md - 007爬虫類の条件とネストされた条件を書くためにあなたを教える猫の兄弟を
猫の兄弟をあなたは爬虫類008を書くことを教える-入力()関数は、た.md
猫の兄弟が爬虫類を書くためにあなたを教えます009 -入力()関数- AI小さな愛の学生がた.md
猫の兄弟を、010爬虫類、辞書のリストを書くために循環た.mdあなたを教える
猫の兄弟を爬虫類011--リスト、辞書、循環書くためにあなたを教える-小さな仕事をた.md
猫の兄は、あなたがブール値を書くことを教える、と4つの爬虫類012--のステートメントはた.md
あなたがブール値の書き込みに教える猫の兄弟を、そして4匹の爬虫類013--文-小さなジョブた.md
PKゲーム-猫の兄は、あなたが爬虫類014書くことを教えます。 MDの
PKゲーム(新しいリビジョン)た.md -猫の兄は、あなたが爬虫類015の書き込みに教える
あなたがた.md爬虫類016--機能書くことを教える猫の兄弟
猫の兄弟があなたが爬虫類017--関数を書くことを教えるを-小さなジョブがた.md
あなたを教えるために猫の兄弟を爬虫類018--debug.md書き込み
デバッグ-仕事-猫の兄弟を爬虫類019を書くためにあなたを教えます。mdの
猫の兄弟爬虫類020--クラスとオブジェクト(上)を書くためにあなたを教えた.md
猫の兄弟が爬虫類に021--クラスとオブジェクト(a)の書き込みにあなたを教える-ジョブた.mdを
猫の兄弟があなたが爬虫類に022--クラスとオブジェクトを書くことを教える(下)た.md
求人た.md -猫の兄は、あなたが爬虫類に023--クラスとオブジェクトを(下)書くことを教える
猫の兄弟があなたが爬虫類の書き込みに024--コード化された復号を教え&&た.md
猫の兄弟がコード化されたデコード爬虫類025 &&を書くためにあなたを教える-小さな仕事はた.md
猫の兄弟をあなたに教える爬虫類026--モジュールを書くためた.md
猫の兄弟爬虫類を書くためにあなたを教える027--モジュールがた.md紹介
猫の兄弟が爬虫類を書くためにあなたを教えます028- -導入モジュール-小さな仕事-看板た.md
猫の兄は、あなたが予備-requests.md爬虫類爬虫類029--書くことを教える
あなたは030--予備-requests-ジョブがた.md爬虫類爬虫類書くことを教える猫の兄弟を
猫の兄弟が031爬虫類を書くためにあなたを教えます-爬虫類の基礎-html.md
猫の兄は、あなたが爬虫類爬虫類032--最初の経験を書くことを教える-BeautifulSoup.md
猫の兄弟があなたが033--初めての経験-BeautifulSoup-ジョブがた.md爬虫類爬虫類の書き込みに教える
あなたは爬虫類を書くことを教える猫の兄弟を034- -た.md練習-BeautifulSoup爬虫類
の仕事- - top250.mdフィルム猫の兄は、あなたは035--爬虫類爬虫類-BeautifulSoup練習書くことを教える
猫の兄弟があなたが036--爬虫類爬虫類-BeautifulSoupの練習を書くために教えを-仕事-仕事をた.md映画top250-を解決するために
猫の兄弟は037--爬虫類爬虫類を書くためにあなたを教える-ベビーた.md曲を聴くために
猫の兄弟があなたに教える爬虫類を書くこと038--引数がた.md要求
猫の兄弟を保存されたデータを書き込むためにあなたを教える爬虫類039--た.md
猫の兄弟爬虫類を書くためにあなたを教えます040--ストアデータ -ジョブた.md
猫の兄弟があなたが爬虫類を書くことを教える041--アナログログイン-cookie.md
猫の兄弟は爬虫類042を書くためにあなたを教える-セッション使用はた.md
猫の兄弟を爬虫類を書くためにあなたを教える043--アナログブラウザがた.md
猫の兄弟を爬虫類044--アナログブラウザを書くためにあなたを教える-ジョブがた.md
猫の兄弟が爬虫類を書くためにあなたを教えます045--コルーチンた.md
練習- -猫の兄は爬虫類046--コルーチン書くためにあなたを教えて太っていないた.md食べるためにどのような
猫の兄弟を爬虫類047を書くためにあなたを教える-た.md scrapyフレームワーク
猫の兄弟が爬虫類を書くためにあなたを教えます048--た.md爬虫類爬虫類および抗
猫の兄弟は爬虫類を書くためにあなたを教える049--エンドSahuaた.md

ます。https://juejin.im/post/5cfc4ada6fb9a07ed657c5d2で再現

おすすめ

転載: blog.csdn.net/weixin_33840661/article/details/91465264