日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

(10.1)Python学习笔记二

發布時間:2023/12/9 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (10.1)Python学习笔记二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、在項目工程中要模塊化測試一個開發的功能,在測試通過后交付給項目組其他人員繼續開發。要保證代碼開發的性能和效率以及可擴展性。

2、項目工程中的文件夾分類要功能模塊明確清晰,在python中引入某一個 文件夾下的文件可以使用如下方式:

  • try:
  • from ..socket.image_pb2 import Image
  • from ..util.constant import constantProxy
  • except:
  • from python.src.socket.image_pb2 import Image
  • from python.src.util.constant import constantProxy
  • 3、如果在導入某個模塊的時候不存在,則在cmd下使用pip3 install ?modeual名來進行安裝和更新。

    4、一個 py文件中可以定義多個class類,類中輸入參數可以實現繼承,其中self關鍵字就是指代當前對象。

    5、一般在一個class類中首先有一個__init__函數,這個函數完成一些初始化構造工作。

    6、在Python的class類中定義一個個的def方法的時候,要學會多使用try--except的語句。

    7、要學會加入log日志打印出錯信息。

    8、if __name__ == '__main__':是程序的入口地方。

    9、Python更像是一種偽代碼。

    ?快速入門2.1 Hello world
    ? ? 安裝完Python之后(我本機的版本是2.5.4),打開IDLE(Python GUI) , 該程序是Python語言解釋器,你寫的語句能夠立即運行.我們寫下一句著名的程序語句:
    print "Hello,world!"
    ? ? 并按回車.你就能看到這句被K&R引入到程序世界的名言.
    ? ? 在解釋器中選擇"File"--"New Window" 或快捷鍵 Ctrl+N , 打開一個新的編輯器.寫下如下語句:
    print "Hello,world!"
    raw_input("Press enter key to close this window");
    ? ? 保存為a.py文件.按F5,你就可以看到程序的運行結果了.這是Python的第二種運行方式.
    ? ? 找到你保存的a.py文件,雙擊.也可以看到程序結果.Python的程序能夠直接運行,對比Java,這是一個優勢.
    --------------------------------------------------------------------------------
    2.2 國際化支持
    ? ? 我們換一種方式來問候世界.新建一個編輯器并寫如下代碼:
    print "歡迎來到奧運中國!"
    raw_input("Press enter key to close this window");
    ? ? 在你保存代碼的時候,Python會提示你是否改變文件的字符集,結果如下:

    [python]?view plain?copy ?
  • #?-*-?coding:?cp936?-*-???
  • ??
  • print?"歡迎來到奧運中國!"??
  • raw_input("Press?enter?key?to?close?this?window");??
  • ? ? 將該字符集改為我們更熟悉的形式:

    [python]?view plain?copy ?
  • #?-*-?coding:?GBK?-*-???
  • ??
  • print?"歡迎來到奧運中國!"?#?使用中文的例子??
  • raw_input("Press?enter?key?to?close?this?window");??
  • ? ? 程序一樣運行良好.
    --------------------------------------------------------------------------------
    2.3?方便易用的計算器
    ? ? 用微軟附帶的計算器來計數實在太麻煩了.打開Python解釋器,直接進行計算:

    [python]?view plain?copy ?
  • a=100.0??
  • b=201.1??
  • c=2343??
  • print?(a+b+c)/c??
  • --------------------------------------------------------------------------------
    2.4 字符串,ASCII和UNICODE
    ? ? 可以如下打印出預定義輸出格式的字符串:

    [python]?view plain?copy ?
  • print?"""?
  • Usage:?thingy?[OPTIONS]?
  • ?????-h????????????????????????Display?this?usage?message?
  • ?????-H?hostname???????????????Hostname?to?connect?to?
  • """??
  • 字符串是怎么訪問的?請看這個例子:

    [python]?view plain?copy ?
  • word="abcdefg"??
  • a=word[2]??
  • print?"a?is:?"+a??
  • b=word[1:3]??
  • print?"b?is:?"+b?#?index?1?and?2?elements?of?word.??
  • c=word[:2]??
  • print?"c?is:?"+c?#?index?0?and?1?elements?of?word.??
  • d=word[0:]??
  • print?"d?is:?"+d?#?All?elements?of?word.??
  • e=word[:2]+word[2:]??
  • print?"e?is:?"+e?#?All?elements?of?word.??
  • f=word[-1]??
  • print?"f?is:?"+f?#?The?last?elements?of?word.??
  • g=word[-4:-2]??
  • print?"g?is:?"+g?#?index?3?and?4?elements?of?word.??
  • h=word[-2:]??
  • print?"h?is:?"+h?#?The?last?two?elements.??
  • i=word[:-2]??
  • print?"i?is:?"+i?#?Everything?except?the?last?two?characters??
  • l=len(word)??
  • print?"Length?of?word?is:?"+?str(l)??
  • ? ? 請注意ASCII和UNICODE字符串的區別:

    [python]?view plain?copy ?
  • print?"Input?your?Chinese?name:"??
  • s=raw_input("Press?enter?to?be?continued");??
  • print?"Your?name?is??:?"?+s;??
  • l=len(s)??
  • print?"Length?of?your?Chinese?name?in?asc?codes?is:"+str(l);??
  • a=unicode(s,"GBK")??
  • l=len(a)??
  • print?"I'm?sorry?we?should?use?unicode?char!Characters?number?of?your?Chinese?\??
  • name?in?unicode?is:"+str(l);??
  • --------------------------------------------------------------------------------
    2.5 使用List
    ? ? 類似Java里的List,這是一種方便易用的數據類型:

    [python]?view plain?copy ?
  • word=['a','b','c','d','e','f','g']??
  • a=word[2]??
  • print?"a?is:?"+a??
  • b=word[1:3]??
  • print?"b?is:?"??
  • print?b?#?index?1?and?2?elements?of?word.??
  • c=word[:2]??
  • print?"c?is:?"??
  • print?c?#?index?0?and?1?elements?of?word.??
  • d=word[0:]??
  • print?"d?is:?"??
  • print?d?#?All?elements?of?word.??
  • e=word[:2]+word[2:]??
  • print?"e?is:?"??
  • print?e?#?All?elements?of?word.??
  • f=word[-1]??
  • print?"f?is:?"??
  • print?f?#?The?last?elements?of?word.??
  • g=word[-4:-2]??
  • print?"g?is:?"??
  • print?g?#?index?3?and?4?elements?of?word.??
  • h=word[-2:]??
  • print?"h?is:?"??
  • print?h?#?The?last?two?elements.??
  • i=word[:-2]??
  • print?"i?is:?"??
  • print?i?#?Everything?except?the?last?two?characters??
  • l=len(word)??
  • print?"Length?of?word?is:?"+?str(l)??
  • print?"Adds?new?element"??
  • word.append('h')??
  • print?word???
  • --------------------------------------------------------------------------------
    2.6?條件和循環語句

    [python]?view plain?copy ?
  • #?Multi-way?decision??
  • x=int(raw_input("Please?enter?an?integer:"))??
  • if?x<0:??
  • ????x=0??
  • ????print?"Negative?changed?to?zero"??
  • elif?x==0:??
  • ????print?"Zero"??
  • else:??
  • ????print?"More"??
  • ??
  • #?Loops?List??
  • a?=?['cat',?'window',?'defenestrate']??
  • for?x?in?a:??
  • ????print?x,?len(x)??
  • --------------------------------------------------------------------------------
    2.7?如何定義函數

    [python]?view plain?copy ?
  • #?Define?and?invoke?function.??
  • def?sum(a,b):??
  • ????return?a+b??
  • func?=?sum??
  • r?=?func(5,6)??
  • print?r??
  • ??
  • #?Defines?function?with?default?argument??
  • def?add(a,b=2):??
  • ????return?a+b??
  • r=add(1)??
  • print?r??
  • r=add(1,5)??
  • print?r??
  • ????并且,介紹一個方便好用的函數:

    [python]?view plain?copy ?
  • #?The?range()?function??
  • a?=range(5,10)??
  • print?a??
  • a?=?range(-2,-7)??
  • print?a??
  • a?=?range(-7,-2)??
  • print?a??
  • a?=?range(-2,-11,-3)?#?The?3rd?parameter?stands?for?step??
  • print?a??
  • --------------------------------------------------------------------------------
    2.8 文件I/O

    [python]?view plain?copy ?
  • spath="D:/download/baa.txt"??
  • f=open(spath,"w")?#?Opens?file?for?writing.Creates?this?file?doesn't?exist.??
  • f.write("First?line?1.\n")??
  • f.writelines("First?line?2.")??
  • f.close()??
  • f=open(spath,"r")?#?Opens?file?for?reading??
  • for?line?in?f:??
  • ????print?line??
  • f.close()??
  • --------------------------------------------------------------------------------
    2.9 異常處理

    [python]?view plain?copy ?
  • s=raw_input("Input?your?age:")??
  • if?s?=="":??
  • ????raise?Exception("Input?must?no?be?empty.")??
  • try:??
  • ????i=int(s)??
  • except?ValueError:??
  • ????print?"Could?not?convert?data?to?an?integer."??
  • except:??
  • ????print?"Unknown?exception!"??
  • else:?#?It?is?useful?for?code?that?must?be?executed?if?the?try?clause?does?not?raise?an?exception??
  • ????print?"You?are?%d"?%?i,"?years?old"??
  • finally:?#?Clean?up?action??
  • ????print?"Goodbye!"??
  • --------------------------------------------------------------------------------
    2.10 類和繼承

    [python]?view plain?copy ?
  • class?Base:??
  • ????def?__init__(self):??
  • ????????self.data?=?[]??
  • ????def?add(self,?x):??
  • ????????self.data.append(x)??
  • ????def?addtwice(self,?x):??
  • ????????self.add(x)??
  • ????????self.add(x)??
  • ??
  • #?Child?extends?Base??
  • class?Child(Base):??
  • ????def?plus(self,a,b):??
  • ????????return?a+b??
  • oChild?=Child()??
  • oChild.add("str1")??
  • print?oChild.data??
  • print?oChild.plus(2,3)??
  • --------------------------------------------------------------------------------
    2.11 包機制
    ? ? 每一個.py文件稱為一個module,module之間可以互相導入.請參看以下例子:

    [python]?view plain?copy ?
  • #?a.py??
  • def?add_func(a,b):??
  • ????return?a+b??
  • ?

    [python]?view plain?copy ?
  • #?b.py??
  • from?a?import?add_func?#?Also?can?be?:?import?a??
  • print?"Import?add_func?from?module?a"??
  • print?"Result?of?1?plus?2?is:?"??
  • print?add_func(1,2)????#?If?using?"import?a"?,?then?here?should?be?"a.add_func"??
  • ? ? module可以定義在包里面.Python定義包的方式稍微有點古怪,假設我們有一個parent文件夾,該文件夾有一個child子文件夾.child中有一個module a.py . 如何讓Python知道這個文件層次結構?很簡單,每個目錄都放一個名為_init_.py 的文件.該文件內容可以為空.這個層次結構如下所示:?
    parent?
    ? --__init_.py
    ? --child
    ? ? -- __init_.py
    ? ? --a.py
    b.py
    那么Python如何找到我們定義的module?在標準包sys中,path屬性記錄了Python的包路徑.你可以將之打印出來:
    import sys
    print sys.path
    ? ? 通常我們可以將module的包路徑放到環境變量PYTHONPATH中,該環境變量會自動添加到sys.path屬性.另一種方便的方法是編程中直接指定我們的module路徑到sys.path 中:

    [python]?view plain?copy ?
  • import?sys??
  • sys.path.append('D:\\download')??
  • from?parent.child.a?import?add_func??
  • print?sys.path??
  • print?"Import?add_func?from?module?a"??
  • print?"Result?of?1?plus?2?is:?"??
  • print?add_func(1,2)??
  • --------------------------------------------------------------------------------
    總結 ? ?
    ? ?你會發現這個教程相當的簡單.許多Python特性在代碼中以隱含方式提出,這些特性包括:Python不需要顯式聲明數據類型,關鍵字說明,字符串函數的解釋等等.我認為一個熟練的程序員應該對這些概念相當了解,這樣在你擠出寶貴的一小時閱讀這篇短短的教程之后,你能夠通過已有知識的遷移類比盡快熟悉Python,然后盡快能用它開始編程.
    確切的說,編程語言包括語法和標準庫.語法相當于武術招式,而標準庫應用實踐經驗則類似于內功,需要長期鍛煉.Python學習了Java的長處,提供了大量極方便易用的標準庫供程序員"拿來主義".(這也是Python成功的原因)

    轉載于:https://www.cnblogs.com/wycBlog/p/7346879.html

    總結

    以上是生活随笔為你收集整理的(10.1)Python学习笔记二的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。