程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python筆記(1) python入門

編輯:Python

目錄

 

第一章:Python入門

1.Python介紹

1.1 簡介

1.2 Python2.版本和Python3.x版本的區別

1.3 Python的優缺點

 1.4 程序基本格式

1.5 Python的應用場景


第一章:Python入門

1.Python介紹

1.1 簡介

Python是一種解釋型,面向對象的語言。由吉多·范羅蘇姆(Guido van Rossum)於1989年發明,1991年正式公布。官網:www.python.org

Python單詞是“大蟒蛇”的意思。但是龜叔不是喜歡蟒蛇才起這個名字而是正在追劇:英國電視喜劇片《蒙提·派森的飛行馬戲團》

編程語言主要從以下幾個角度為進行分類:編譯型和解釋性、靜態語言和動態語言、強類型定義語言和弱類型定義語言。

編譯和解釋的區別是什麼?

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

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

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

編譯型解釋性混合型CJavaScriptJavaC++PythonC#GoRuby SwiftPHP Object-CPerl PascalErlang 

編譯型

優點:編譯器一般會有預編譯的過程對代碼進行優化。

解釋性

優點:有良好的平台兼容性,在任何環境中都可以運行,前提是安裝了解釋器(虛擬機),靈活修改代碼

Python的繼承是多繼承的

1.2 Python2.版本和Python3.x版本的區別

  • print函數

Python2中的print是一條語句,語句是一段可執行代碼。如果返回值也是多個,則返回一個元組。

Python3中的print為一個函數,必須用括號括起來;函數接收參數提供返回值,可接收多個參數。

#Python2
1 print 'Python', python_version()
2 print 'Hello, World!'
3 print('Hello, World!')
4 print "text", ; print 'print more text on the same line'
```
run result:
Python 2.7.6
Hello, World!
Hello, World!
text print more text on the same line
```
#Python3
1 print('Python', python_version())
2 print('Hello, World!')
3 print("some text,", end="")
4 print(' print more text on the same line')
```
run result:
Python 3.4.1
Hello, World!
some text, print more text on the same line
```
  • 整數相除

Python 2 中,整數相除默認是整型。Python 3 中,整數相除默認是浮點型。

Python 2:
>>>print("1/2",1/2)
('1/2',0)    #返回的是一個元組
Python 3:
>>>print("1/2",1/2)
1/2 0.5
  • 編碼

Python 2 中,默認編碼是 asscii ,asscii 編碼是應用於拉丁字母的編碼系統,程序內用中文常導致出現編碼問題。在 Python 3 中采用了UTF-8作為默認編碼,UTF-8 屬於Unicode編碼,支持大多數語言,且可變長度,空間較為節省。在 Python 3 中寫代碼再不用聲明 # conding:utf-8

  • 字符串

Python 2 中字符的類型:

str : 已經編碼後的字節序列

Unicode : 編碼前的文本字符

Python 3 中字符的類型:

str : 編碼過的 Unicode 文本字符

bytes : 編碼前的字節序列

 二進制字節Unicode字符 Python 2 str類型Unicode類型Python 3bytes類型str類型

為了避免出錯,在Python 2 中應在文本字符串前面加上u.

  • xrang

Python 2 中 range 返回一個列表, xrange 返回一個迭代器。

Python 3 中沒有 xrange 。range 方法就相當於 Python 2 中的 xrange 方法,同時像 map 函數等,Python 3 比返回列表的函數改為了返回迭代器。

  • 通過 input() 解析用戶的輸入

Python3中input得到的為str;Python2的input得到的為int型,Python2的raw_input得到的為str類型;統一一下:Python3中用的 input 和Python2中用的 row_input,都輸入為str。

幸運的是,在Python 3 中已經解決了把用戶的輸入存儲為一個str對象的問題。為了避免在Python 2 中的讀取非字符串類型的危險行為,我們不得不適用 raw_input() 代替。

  • 模塊合並

python2中的StringIO和cStringIO合並為python3中的io

python2中的pickle和cPickle合並為python3中的pickle。

python2中的urllib、urllib2和urlparse合並為python3中的urllib

  • 字典

python2中的dict類中的keys、values和items均返回list對象,iterkeys、itervalues和iteritems返回生成器對象。

python3中移除了list、只返回一個生成器的對象,只保留視圖(生成器),但方法名為:keys、values和items。

python2中默認類是舊式類,需要顯式繼承新式類(object)來創建新式類。

python3中完全移除舊式類,所有類都是新式類,但仍可顯式繼承object類。

  • 導入

python2中的包導入順序:標准庫—相對倒入(即當前目錄)—絕對導入(sys.path)

python3中的包導入順序:標准庫—絕對導入(如果想要相對導入,使用from .moudel)

  • 重命名模塊
Python 3Python 2ConfigparserConfigParserfilteritertools.ifilterinputraw_inputmapitertools.imaprangexrangefunctools.reducereducesocketserverSocketServerzipitertools.izip

 

1.3 Python的優缺點

Python的設計哲學是“優雅”、“明確”、“簡單”。

優點

  • 簡單-----Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!Python的偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。
  • 易學-----Python極其容易上手。Python雖然是用C語言寫的,但是它擯棄了C中非常復雜的指針,簡化了Python的語法。
  • 免費,開源-----Python是FLOSS(自由/開放源碼軟件)之一。通俗的說,就是你可以自由的發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟件中。
  • 高層語言-----當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
  • 可移植性-----由於它的開源本質,Python已經被移植在許多平台上(進過改動使它能夠工作在不同平台上)。如果你不小心地避開使用依賴於系統的特性,那麼你所有的Python程序無需修改就可以在下述任何平台上面運行。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。
  • 解釋型-----這一點需要一些解釋。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然後把它翻譯成計算機使用的機器語言並運行。事實上,由於你不在需要擔心如何編譯程序,如何保證轉載正確等庫。你僅僅需要把自己的Python程序拷貝到另外一台計算機上,它就可以工作了,這也使得Python程序更加易於移植。
  • 面向對象-----Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++何Java相比,Python一一種非常強大有簡單的方式實現面向對象編程
  • 可擴展性------
  • 豐富的庫------Python的標准庫是很龐大的。它可以幫助你處理各種工作,包括正則表達式、
  • 規范的代碼------Python采用強制縮進的方式使用代碼具有極佳的可讀性。(這一點也被最近的一個大牛吐槽的八大原罪之一)

缺點:

  • 運行速度慢,有速度要求的話,用C++改寫關鍵部分吧。國內市場較小(國內以python來做主要開發的,目前只有一些web2.0公司)。但時間推移,目前很多國內軟件公司,尤其是游戲公司,也開始規模使用他。【豆瓣 知乎】
  • 中文資料匮乏(好的python中文資料屈指可數)。托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。
  • 框架原則太多(沒有像C#這樣的官方.net框架,)

 1.4 程序基本格式

1 . 恰當的空格, 縮進問題

(1)邏輯首行的空白(空格和制表符)用來決定邏輯行的縮進層次,從而用來決定語句的分組

(2)語句從新行的第一列開始。

(3)縮進風格統一:

①每個縮進層次使用單個制表符或四個空格(IDE會自動將制表符設置成4個空格);

②Python 用縮進而不是 {} 表示程序塊。

2 . Python 區分大小寫

3 . 注釋

(1)行注釋

每行注釋前加 “#”號。當解釋器看到 “#” ,則忽略這一行 “#” 後面的內容

(2)段注釋

使用三個連續單引號 (```)。當解釋器看到(```),則會掃描到下一個(```),然後忽略他們之間的內容。

1.5 Python的應用場景

  • web應用開發(現在 go 語言的開發效率更加 ok ,javaee做開發還是主流),Python 進場被用於web開發
  • 操作系統管理,服務器運維的自動化腳本(自動化運維)
  • 科學計算,數據分析
  • 桌面軟件(GUI)
  • 服務器軟件
  • 游戲------一般情況下做不到
  • 爬蟲
  • 人工智能【機器學習和深度學習】機器學習:算法;深度學習:機器視覺、自動駕駛

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved