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

歡迎訪問 生活随笔!

生活随笔

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

python

Python学习之路1 - 基础入门

發布時間:2025/5/22 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习之路1 - 基础入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文內容

  • Python介紹
  • 安裝Python解釋器
  • 輸出
  • 變量
  • 輸入
  • 條件判斷語句
  • 循環語句
  • 模塊講解
  • 三元運算
  • 字符串和二進制的相互轉化

  • ?本系列文章使用的Python版本為3.6.2

    使用開發工具為Pycharm2017

    ?

    一、Python介紹

    Python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。??

    最新的TIOBE排行榜,Python趕超PHP占據第五,?Python崇尚優美、清晰、簡單,是一個優秀并廣泛使用的語言。

    目前Python主要應用領域:

    • 云計算:云計算最火的語言, 典型應用OpenStack
    • WEB開發:眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
    • 科學運算、人工智能:典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    • 系統運維:運維人員必備語言
    • 金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高于c,c++,java,尤其擅長策略回測
    • 圖形GUI:PyQT, WxPython,TkInter

    Python在一些公司的應用:

    • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發
    • CIA:美國中情局網站就是用Python開發的
    • NASA:美國航天局(NASA)大量使用Python進行數據分析和運算
    • YouTube:世界上最大的視頻網站YouTube就是用Python開發的
    • Dropbox:美國最大的在線云存儲網站,全部用Python實現,每天網站處理10億個文件的上傳和下載
    • Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
    • Facebook:大量的基礎庫均通過Python實現的
    • Redhat:世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
    • 豆瓣:公司幾乎所有的業務均是通過Python開發的
    • 知乎:國內最大的問答社區,通過Python開發(國外Quora)
    • 春雨醫生:國內知名的在線醫療網站是用Python開發的
    • 除上面之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。?

    Python?是一門什么樣的語言?

    編程語言主要從以下幾個角度為進行分類,編譯型和解釋型、靜態語言和動態語言、強類型定義語言和弱類型定義語言,每個分類代表什么意思呢,我們一起來看一下。

    編譯和解釋的區別

    編譯器是把源程序的每一條語句都編譯成機器語言,并保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;?

    而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯后的程序運行的快的。?

    這是因為計算機不能直接認識并執行我們寫的語句,它只能認識機器語言(是二進制的形式)。

    就好像你想看一本英文書,編譯器會將整本書翻譯成中文供你觀看,這時你看的就會很方便,怎么反復看都沒有問題;解釋器只會解釋你當前想要看的語句,如果你想再次看一遍同樣的語句則需要再次找解釋器解釋一遍,這樣就會給你的閱讀帶來麻煩。

    ?

    動態語言和靜態語言

    通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。

    (1)動態類型語言:動態類型語言是指在運行期間才去做數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬于動態類型語言。

    (2)靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#、JAVA等。

    ?

    強類型定義語言和弱類型定義語言

    (1)強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那么它就永遠是這個數據類型了。舉個例子:如果你定義了一個整型變量a,那么程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。

    (2)弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。

    強類型定義語言在速度上可能略遜色于弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否類型安全”之間是完全沒有聯系的!
    例如:Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。

    ?

    通過上面這些介紹,我們可以得出,python是一門動態解釋性的強類型定義語言。那這些基因使成就了Python的哪些優缺點呢?我們繼續往下看。

    ?

    Python的優點

    當你用一種語言開始作真正的軟件開發時,你除了編寫代碼外,還需要很多基本的已經寫好的現成的東西,來幫助你加快開發進度。比如說,要編寫一個電子郵件客戶端,如果先從最底層開始編寫網絡協議相關的代碼,那估計一年半載也開發不出來。高級編程語言通常都會提供一個比較完善的基礎代碼庫,讓你能直接調用,比如,針對電子郵件協議的SMTP庫,針對桌面環境的GUI庫,在這些已有的代碼庫的基礎上開發,一個電子郵件客戶端幾天就能開發出來。

    Python就為我們提供了非常完善的基礎代碼庫,覆蓋了網絡、文件、GUI、數據庫、文本等大量內容,被形象地稱作“內置電池(batteries included)”。用Python開發,許多功能不必從零編寫,直接使用現成的即可。

    除了內置的庫外,Python還有大量的第三方庫,也就是別人開發的,供你直接使用的東西。當然,如果你開發的代碼通過很好的封裝,也可以作為第三方庫給別人使用。

    許多大型網站就是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

    龜叔給Python的定位是“優雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復雜的程序。

    總的來說,Python的哲學就是簡單優雅,盡量寫容易看明白的代碼,盡量寫少的代碼。如果一個資深程序員向你炫耀他寫的晦澀難懂、動不動就幾萬行的代碼,你可以盡情地嘲笑他。

    那Python適合開發哪些類型的應用呢?

    首選是網絡應用,包括網站、后臺服務等等;

    其次是許多日常需要的小工具,包括系統管理員需要的腳本任務等等;

    另外就是把其他語言開發的程序再包裝起來,方便使用。

    Python的缺點

    第一個缺點就是運行速度慢,和C程序相比非常慢,因為Python是解釋型語言,你的代碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程序是運行前直接編譯成CPU能執行的機器碼,所以非常快。

    但是大量的應用程序不需要這么快的運行速度,因為用戶根本感覺不出來。例如開發一個下載MP3的網絡應用程序,C程序的運行時間需要0.001秒,而Python程序的運行時間需要0.1秒,慢了100倍,但由于網絡更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區別嗎?這就好比F1賽車和普通的出租車在北京三環路上行駛的道理一樣,雖然F1賽車理論時速高達400公里,但由于三環路堵車的時速只有20公里,因此,作為乘客,你感覺的時速永遠是20公里。

    第二個缺點就是代碼不能加密。如果要發布你的Python程序,實際上就是發布源代碼,這一點跟C語言不同,C語言不用發布源代碼,只需要把編譯后的機器碼(也就是你在Windows上常見的xxx.exe文件)發布出去。要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發布出去。

    這個缺點僅限于你要編寫的軟件需要賣給別人掙錢的時候。好消息是目前的互聯網時代,靠賣軟件授權的商業模式越來越少了,靠網站和移動應用賣服務的模式越來越多了,后一種模式不需要把源碼給別人。

    再說了,現在如火如荼的開源運動和互聯網自由開放的精神是一致的,互聯網上有無數非常優秀的像Linux一樣的開源代碼,我們千萬不要高估自己寫的代碼真的有非常大的“商業價值”。那些大公司的代碼不愿意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產品了。

    ?

    ?

    二、安裝Python解釋器

    在Mac上安裝Python

    如果你正在使用Mac,系統是OS X 10.8~10.10,那么系統自帶的Python版本是2.7。要安裝最新的Python 3.6,有兩個方法:

    方法一:從Python官網下載Python 3.6的安裝程序(網速慢的同學請移步國內鏡像),雙擊運行并安裝;

    方法二:如果安裝了Homebrew,直接通過命令brew install python3安裝即可。

    在Linux上安裝Python

    如果你正在使用Linux,那么基本代表你有著Linux管理經驗,Linux上自帶Python2,如果想升級到最新版應該難不倒你的。

    在Windows上安裝Python

    首先,根據你的Windows版本(64位還是32位)從Python的官方網站下載Python 3.6對應的64位安裝程序或32位安裝程序,然后,運行下載的EXE安裝包:

    ?

    特別要注意勾上Add Python 3.6 to PATH,然后點“Install Now”即可完成安裝。

    ?

    三、輸出

    輸出方式經常使用的有兩種,第一種是print()函數,下面我們輸出hello world。

    print("hello world")

    輸出結果:

    第二種輸出方式需要引入sys庫,然后使用sys.stdout.write()函數輸出。

    import sys sys.stdout.write("afsd")

    輸出結果:

    從輸出結果可以看出兩種輸出方式的差別,print()函數輸出結果后會再加一個換行,而sys.stdout.write()則沒有換行。

    ?Python和其他常用高級語言不同的地方是Python一條語句結束時不需要加分號,并且在Python中也不會用到大括號,Python的語句就只是用換行符和縮進來表示語句之間的關系。

    換行就表示一條語句的結束,縮進表示語句間的包含關系。

    四、變量

    由于Python是動態類型語言,所以不需要定義變量類型,直接寫變量名就可以。

    name = "my name is Vector" print(name)

    輸出結果:

    在Python3中是可以直接輸入中文的,例如print(“姓名”)這樣,但是在Python2中需要在文件的頂部加上 ?-*- coding:utf-8 -*- 這句話,因為Python3的默認字符為Unicode,而Python2的默認字符為ASCII。

    ?在Python中不僅有單行的字符串,還有多行的字符串,多行字符串用 '''內容''' 標記,如下。

    msg = ''' 這里是第一行 這里是第二行 這里是第三行 ''' print(msg)

    輸出結果:

    ?

    注釋

    Python中的單行注釋用 # 來注釋,如下。

    print('hello world') #這里即將輸出hello world

    多行注釋用三個單引號來標記 '''內容''',如下。

    ''' 這里是第一行注釋 這里是第二行注釋 這里是第三行注釋 '''

    在Python中單引號和雙引號沒有區別,都不會轉義其他字符。

    ?

    五、輸入

    ?用戶輸入通常我們用input()函數,如下。

    username = input('username:') password = input('password:') print(username,password)

    我們輸入vector和asd123

    輸出結果:

    有了輸入后,我們就可以控制格式化輸出了。

    第一種格式化輸出方式

    name = input('name:') age = input('age:')info = ''' ------------- Info -------------- Name:''' + name + ''' age:''' + age + ''' ------------- Over -------------- ''' print(info)

    這里我們輸入vector和18

    輸出結果:

    第二種格式化輸出方式

    用 %s %d %f 等來控制格式,并在結尾一次傳入參數,傳參格式為 %(參數1,參數2,...)

    ?%s代表字符串,%d代表正數,%f代表浮點數。

    name = input('name:') age = int(input('age:'))info = ''' ------------- Info -------------- Name:%s age:%d ------------- Over -------------- '''%(name,age) print(info)

    輸出結果:

    如果想將輸出的內容變成紅色,則用\033[31;1m%s\033[0m 如果想將輸出的內容變成綠色,則用\033[32;1m%s\033[0m格式:\033[顯示方式;前景色;背景色m說明: 前景色 背景色 顏色 --------------------------------------- 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色顯示方式 意義 ------------------------- 0 終端默認設置 1 高亮顯示 4 使用下劃線 5 閃爍 7 反白顯示 8 不可見例子: \033[1;31;40m <!--1-高亮顯示 31-前景色紅色 40-背景色黑色--> \033[0m <!--采用終端默認設置,即取消顏色設置-->

    下面演示一下輸出結果帶顏色的例子:

    name = input('name:') age = int(input('age:'))info = ''' ------------- Info -------------- Name:\033[31;1m%s\033[0m #輸出結果為紅色 age:\033[32;1m%s\033[0m #輸出結果為綠色 ------------- Over -------------- '''%(name,age) print(info)

    輸出結果:

    第三種格式化輸出方式

    在字符串中插入形參(形參用大括號標記{形參}),最后在結尾給形參賦值。

    name = input('name:') age = int(input('age:'))info = ''' ------------- Info -------------- Name:{_name} age:{_age} ------------- Over -------------- '''.format(_name=name,_age=age) print(info)

    輸出結果:

    第四種格式化輸出方式

    形參用數字表示,在結尾直接按照順序給形參賦值。

    name = input('name:') age = int(input('age:'))info = ''' ------------- Info -------------- Name:{0} age:{1} ------------- Over -------------- '''.format(name,age) print(info)

    輸出結果:

    ?

    輸入變成密文

    需要引入getpass模塊。

    import getpass password = getpass.getpass("password:") print(password) 但是這個getpass()這個函數在pycharm中不好使,在其他工具中好使。

    六、條件判斷語句

    格式:

    if 條件1 and 條件2 or 條件3:pass # 注意這里一定要有縮進 elif 條件4 and 條件5:pass else:pass

    例子:

    _username = 'rev' _password = 'rev123'username = input('username:') password = input('password:')if _username == username and _password == password:print('Welcome user {name} login...'.format(name = username))# 注意這里一定要有縮進 elif _username == username and _password != password:print('password error!') else:print('login fail..')# 注意這里一定要有縮進

    七、循環語句

    循環語句之while

    Python中的while還有else處理。

    例子:

    while True:print('this is loop...')break else:print('如果while循環條件不符合了,則執行這里的代碼')

    循環語句之for

    格式1:

    for i in range(10):print('loop ',i)

    這里的range代表循環次數,i 從0來是循環

    輸出結果:

    格式2:

    for i in range(0,10,2):print('loop ',i)

    range中的第一個參數代表從幾開始,第二個參數代表到幾結束(不包括10),第三個參數2代表隔一個執行一次

    格式3:

    for i in "fasdfasd":print('loop ',i)

    Python中的for循環還可以循環字符串、列表、元組等。

    ?輸出結果:

    八、模塊講解

    模塊之sys

    print(sys.path) # 打印環境變量 print(sys.argv) # 打印當前腳本的路徑,在pycharm中打印絕對路徑,在命令行中打印相對路徑(本來打印的就是相對路徑) one = sys.argv[1] #用來在外部調用的時候傳參, 1代表傳入的第一個參數, two = sys.argv[2] #2代表傳入的第二個參數, 這樣外部調用的時候就可以傳多個參數了

    模塊之os

    print(os.system('dir')) # system函數就是命令行 cmd = os.system('dir') print(cmd) # 這里輸出的是 0 因為,system是直接把輸出到屏幕上,并不是返回,如果輸出成功則返回0cmd = os.popen('dir').read() #popen()方法返回的是該對象的地址,read()方法是將地址中的內容讀出來 print(cmd)# 創建目錄函數 os.mkdir('new_dir')

    九、三元運算

    //result = 值1 if 條件 else 值2 a,b,c = 1,3,5 d = a if a>b else c print(d) # d = c = 5 # 如果條件為真:result = 值1 # 如果條件為假:result = 值2

    十、字符串和二進制的相互轉化

    msg = '我愛大延邊日不落帝國' print(msg) # 字符串輸出 print(msg.encode(encoding='utf-8')) # 將字符串轉換成二進制 print(msg.encode(encoding='utf-8').decode(encoding='utf-8')) # 將二進制轉換成字符串 # 如果encode和decode不寫參數,默認就是utf-8

    ?

    轉載于:https://www.cnblogs.com/y-zr/p/7906003.html

    總結

    以上是生活随笔為你收集整理的Python学习之路1 - 基础入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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