MoocのPython 3学習ノート


文書ディレクトリ
  • 一部優秀ブロガー
  • 只供自己查看!!
  • まず基本文法をマスターします!
  • 内蔵演算子関数
  • 関数モジュール補足知識点
  • pass
  • 関数は複数の値
  • を返します.
  • デフォルトパラメータの使用に関する注意
  • 可変パラメータの使用方法
  • 天天向上コード
  • ユニットテスト
  • 異常処理コード
  • 単例モード
  • Pythonのif_name__ == '__main__' どのように理解するか
  • python環境構築とpycharmのインストール構成と漢化(ゼロベース白版)
  • PyCharmとgitインストールチュートリアル
  • 爬虫
  • 簡単例1
  • 簡易例2
  • BeautifulSoupの使用1
  • BeautifulSoupの使用1
  • いくつかの優秀なブロガー
    http://blog.konghy.cn/廖雪峰大牛Python 3教程
    自分で调べるだけ!!!
    まずは基本文法をマスター!
    まずいくつかのコードをください.
    str1 = input("         :")
    str2 = input("          :")
    print("     ,{}    {}:".format(str1,str2))
    
  • 1~N求和
  • n = input("       :")
    sum = 0
    
    for i in range(int(n)):
        sum += i + 1
    print("1 N     :",sum)
    
  • 乗算口裏表
  • for i in range(1,10):
        for j in range(1,i +1):
            print("{}*{}={:2}  ".format(j,i,i*j),end = '')
        print('')
    
  • 印刷1!+2! + 3! + …10!
  • sum , tem = 0, 1
    for i in range(1,4):
        print("{}".format(i))
    for i in range(1,4):
        tem = i * tem
        sum += tem
    print("{}".format(sum))
    
  • 猿が桃を食べる問題!
  • n = 1
    for i in range(5,0,-1):
        n = (n + 1) << 1
    print(n)
    
    
  • 摂氏および華氏温度変換
  • TempStr = input("")
    
    if TempStr[0] in ['F','f']:
        C = (eval(TempStr) -32 ) /1.8
        print("{:.2f}C".format(C))
    elif TempStr[0] in ['C','c']:
        F = 1.8 * eval(TempStr) + 32
        print("{:.2f}F".format(F))
    else:
        print("      ")
    
  • エスケープ文字処理方法r’‘表示’'内部の文字列デフォルトエスケープしない
  • # -*- coding: utf-8 -*-
    n = 123
    f = 456.789
    s1 = 'Hello, world'
    s2 = 'Hello, \'Adam\''
    s3 = r'Hello, "Bart"'
    s4 = r'''Hello,
    Lisa!'''
    

    これらの出力結果を見て、エスケープ文字を理解してみましょう.
    Hello, world 
    Hello, 'Adam' 
    Hello, "Bart" 
    Hello, 
    Lisa! 
    

    組み込み演算子関数
  • これは見て、比較的によく使って、基本的な意義を掌握しますhttps://www.cnblogs.com/xiao1/p/5856890.html

  • 関数モジュールの知識点の補足
    定義された関数を追加して、私たちは先に書かないで、しかし他のモジュールは書き終わって、走って効果を見てみなければなりませんが、この関数にはコンテンツコンパイラがなくて、この時に概念があります.
    pass
  • Null関数
  • def nop():
        pass
    

    コードをうまくコンパイルして実行できるようになりました
    if age >= 18:
        pass
    

    関数は複数の値を返します.
    
    def TestReturnValue(a, b, c, d):
        return a + b, c * d
    
    num1, num2 = TestReturnValue(1, 2, 3, 4)
    
    print(num1, num2)
    
    r = TestReturnValue(1, 2, 3, 4)
    print(r)
    

    実行結果
    3 12
    (3, 12)
    
    Process finished with exit code 0
    

    戻り値はtupleだったのか!しかし、文法上、1つのtupleを返すと括弧を省略することができ、複数の変数は同時に1つのtupleを受信し、位置によって対応する値を与えることができるので、Pythonの関数が多値を返すのは実は1つのtupleを返すことであるが、書くのはもっと便利である.『廖雪峰先生の説明』
    デフォルトパラメータの使用に関する注意事項
  • 最初の書き方がなければ、次のような出力のエラーが発生します.本来はあなたの出力に「END」を付けていますが、呼び出すたびに「END」が1つ増えます.
  • def add_end_Right(L=None):
        if L is None:
            L = []
        L.append('END')
        return L
    
    def add_end_False(L=[]):
        L.append('END')
        return L
    
    print(add_end_Right())
    print(add_end_Right())
    print(add_end_Right())
    
    print(add_end_False())
    print(add_end_False())
    print(add_end_False())
    
  • 出力結果
  • 
    ['END']
    ['END']
    ['END']
    
    ['END']
    ['END', 'END']
    ['END', 'END', 'END']
    

    可変パラメータの使用方法
    def Calculation(*num):
        count = 0
        for i in num:
            count += i
        return count
    
    
    print(Calculation(1,2,3,4))
    
    
  • 出力
  • 10
    

    毎日アップコード
    import math
    dayup = math.pow((1.0 + 0.005), 365)
    daydown = math.pow((1.0 - 0.005),365)
    
    print("  :{:.2f},  :{:.2f}.".format(dayup,daydown))
    
    def dayUP(df):
        dayup = 0.01
        for i in range(365):
            if i % 7 in [6,0]:
                dayup = dayup * (1 - 0.01)
            else:
                dayup = dayup * (1 + df)
        return dayup
    
    dayfactor = 0.01
    while(dayUP(dayfactor) < 37.78):
        dayfactor += 0.001
    
    print("       :{:.3f}.".format(dayfactor))
    
    

    ユニットテスト
    原文リンクユニットテストは、モジュール、関数、またはクラスに対して正確性検査を行うためのテスト作業である.
    例えば、関数abs()について、以下のいくつかのテスト例を記述することができます.
    正数、例えば1、1.2、0.99を入力し、戻り値が入力と同じであることを期待する.
    マイナス数、例えば-1、-1.2、-0.99を入力し、戻り値が入力と逆になることを期待する.
    0を入力し、0を返すことを期待します.
    None,[],{}などの非数値タイプを入力し,TypeErrorの放出を期待する.
    上のテスト例をテストモジュールに入れると、完全なユニットテストです.
    ユニットテストに合格すれば、私たちがテストしたこの関数が正常に動作することを示します.ユニットテストに合格しない場合は、関数にバグがあるか、テスト条件の入力が正しくないか、つまり、ユニットテストに合格できるように修復する必要があります.
    例外処理コード
    try:
         
    except :
        
    
    except :
        
    except:
        
    else:
        
    finally:
        
    
    

    単一モード
    class Singleton(object):
        class _A(object):
            def __init__(self):
                pass
    
            def display(self):
                return id(self)
                
        _instance = None
    
        def __init__(self):
            if Singleton._instance is None:
                Singleton._instance = Singleton._A()
    
        def __getattr__(self, attr):
            return getattr(self._instance, attr)
    
    
    if __name__ == '__main__':
        s1 = Singleton()
        s2 = Singleton()
        print(id(s1), s1.display())
        print(id(s2), s2.display())
    

    コードの解釈def getattr(self,attr):return getattr(self._instance,attr)
    #          A ,,     
    >>> class A:
    ...     test1 = "this test1"
    ...     test2 = "this test2"
    ...
    >>>
    
    #          
    >>> a = A()
    
    #      getattr          a     
    >>> getattr(a, "test1")
    'this test1'
    >>>
    >>> getattr(a, "test2")
    'this test2'
    >>>
    

    Pythonのif name=“main”はどのように理解します
    http://blog.konghy.cn/2017/04/24/python-entry-program/
    python環境構築とpycharmのインストール構成と漢化(ゼロベース白版)
    https://blog.csdn.net/ling_mochen/article/details/79314118#commentBox
    PyCharmとgitインストールチュートリアル
    https://blog.csdn.net/csdn_kou/article/details/83720765
    爬虫類
    学習資源は中国大学moocの爬虫類課程である.「嵩天先生」の下に簡単なコードをいくつか書きます!このいくつかのコードの書くことを熟知してから基本的に需要を完成することができます!
    簡単な例1
    import requests
    
    r = requests.get("https://www.baidu.com")
    fo = open("baidu.txt", "w+")
    r.encoding =  'utf-8'
    str = r.text
    line = fo.write( str )
    

    簡単な例2
    import requests
    url = "https://item.jd.com/2967929.html"
    try:
        r = requests.get(url)
        r.raise_for_status()//    200    
        r.encoding = r.apparent_encoding// utf-8  
        print(r.text[:1000])//   1000 
    except:
        print("False")
     fo.close()
    

    BeautifulSoupの使用1
    fo = open("jingdong.md","w")
    
    url = "https://item.jd.com/2967929.html"
    try:
        r = requests.get(url)
        r.encoding = r.apparent_encoding
        demo = r.text
        soup = BeautifulSoup(demo,"html.parser")
        fo.write(soup.prettify())
        fo.writelines(soup.prettify())
    except:
        print("False")
    
    fo.close()
    

    BeautifulSoupの使用1
    fo = open("baidu.md","w")
    
    try:
        r = requests.get("https://www.baidu.com")
        r.encoding = r.apparent_encoding
        demo = r.text
        soup = BeautifulSoup(demo,"html.parser")
        fo.write(soup.prettify())
        fo.writelines(soup.prettify())
    except:
        print("False")
    fo.close()
    

    爬虫類とpython例のオープンソースリンクを添付