人工知能と未来社会(2021冬季節学期)-モジュール(モジュール)


Python Module
1.モジュールのインポート方法
1.importモジュール
  • この方法は、モジュール全体を組み込む方法
  • である.
    >>> import tkinter
    >>> tkinter.widget = tkinter.Label(None, text='I love Python!')
    >>> tkinter.widget.pack()
  • は、このようにしてモジュール名を常に前に書いた後に使用される.
  • 2.fromモジュールインポート名
  • この方法は、モジュール内で必要なコンテンツのみを取得します.
  • >>> from tkinter import *
    >>> widget = Label(None, text='I love Python!')
    >>> widget.pack()
  • 2*演算子で全体を読み込むことができます.
  • 2.有用なモジュール
    モジュールのコピー

  • 浅い放射と深い放射
  • 可変オブジェクト-リスト、ディックシーケンス、コレクション
  • 不変オブジェクト-int、float、bool、string、tuple

  • 浅いコピーは?!copy.copy()
    オブジェクトのプロパティによっては、可変オブジェクトは変更可能なので、同じオブジェクトを共有できますが、可変オブジェクトは変更できません.したがって、変数ごとに異なるように、新しいオブジェクトを作成する必要があります.
  • import copy
    
    a = [1, [2, 3, 4]]
    b = copy.copy(a)    # shallow copy
    print(b)    # [1, [2, 3, 4]] 
    
    b[0] = 10
    print(b)    # [10, [2, 3, 4]]
    print(a)    # [1, [2, 3, 4]], shallow copy로 새로 생성된 b의 list값과는 다른 객체
    
    c = copy.copy(a)
    c[1].append(5)    # list의 두번째 요소에 5 추가
    print(c)    # [1, [2, 3, 4, 5]]
    print(a)    # [1, [2, 3, 4, 5]]

  • 深い放射線とは何ですか?!copy.deepcopy()
    オブジェクトを考慮せずにすべてのオブジェクトを作成して参照します.
  • import copy
    
    a = [1, [1, 2, 3]]
    b = copy.deepcopy(a)    # deep copy
    print(b)    # [1, [1, 2, 3]]
    
    b[0] = 100
    b[1].append(4)
    print(b)    # [100, [1, 2, 3, 4]]
    print(a)    # [1, [1, 2, 3]]
    ランダムモジュール

  • random.random()
    random()関数は、0または1未満の数値からランダムに数値を抽出します.
  • >>> import random
    >>> random.random()
    0.90389642027948769

  • random.randrange()
    randlange()関数は、与えられた範囲の数値からランダムに1つの数を抽出します.
  • >>> random.randrange(1,7)
    6

  • random.shuffle()
    shuffle()関数は、所与のシーケンスを任意に混合することができる.
  • >>> abc = ['a', 'b', 'c', 'd', 'e']
    >>> random.shuffle(abc)
    >>> abc
    ['a', 'd', 'e', 'b', 'c']

  • random.choice()
    choice()関数は、所与のシーケンス内でランダムに1つ抽出される.
  • >>> abc
    ['e', 'd', 'a', 'c', 'b']
    >>> random.choice(abc)
    'a'
    >>> random.choice(abc)
    'd'