跟黃哥學習python第三章
python 編程有多種範式
面向過程,面向對象,函數式編程,面向切面編程。n編程范型或編程範式(英語:Programming paradigm),(范即模範之意,範式即模式、方法),是一類典型的編程風格,是指從事軟體工程的一類典型的風格(可以對照方法學)。如:函數式編程、程序編程、面向對象編程、指令式編程等等為不同的編程范型。n編程范型提供了(同時決定了)程序員對程序執行的看法。例如,在面向對象編程中,程序員認為程序是一系列相互作用的對象,而在函數式編程中一個程序會被看作是一個無狀態的函數計算的序列。n正如軟體工程中不同的群體會提倡不同的「方法學」一樣,不同的編程語言也會提倡不同的「編程范型」。一些語言是專門為某個特定的范型設計的(如Smalltalk和Java支持面向對象編程,而Haskell和Scheme則支持函數式編程),同時還有另一些語言支持多種范型(如Ruby、Common Lisp、Python和Oz)。n很多編程范型已經被熟知他們禁止使用哪些技術,同時允許使用哪些。例如,純粹的函數式編程不允許有副作用[1];結構化編程不允許使用goto。可能是因為這個原因,新的范型常常被那些習慣於較早的風格的人認為是教條主義或過分嚴格。然而,這樣避免某些技術反而更加證明了關於程序正確性——或僅僅是理解它的行為——的法則,而不用限制程序語言的一般性。n編程范型和編程語言之間的關係可能十分複雜,由於一個編程語言可以支持多種范型。例如,C++設計時,支持過程化編程、面向對象編程以及泛型編程。然而,設計師和程序員們要考慮如何使用這些范型元素來構建一個程序。一個人可以用C++寫出一個完全過程化的程序,另一個人也可以用C++寫出一個純粹的面向對象程序,甚至還有人可以寫出雜揉了兩種范型的程序。n--來自維基百科n
首先黃哥教初學者從面向過程編程範式訓練起。
面向過程編程程序設計(英語:Procedural programming),主要採取程序調用(procedure call)或函數調用(function call)的方式來進行流程式控制制。 n流程則由包涵一系列運算步驟的程序(Procedures), n常式(routines),子程序(subroutines), 方法(methods),或函數(functions)來控制。 n在程序運行的任何一個時間點,都可以調用某個特定的程序。 n任何一個特定的程序,也能被任意一個程序或是它自己本身調用。 n
python 像人類講的語言一樣,有自己的語法。
python 變數。
變數
1、變數,望文生義一下,意思是說,可以改變,變化的量。程序設計中,希望可以改變的數據,用變數來保存或引用。 變數在程序設計過程中,取值可以改變的量為變數。變數一定要取一個有意義的名字,要用英文來取名字,不能用漢語拼音(不報語法錯誤,但不符合習慣),當你的代碼 在團隊開發,國際交流中,人家老外看到用漢語拼音取的變數名會一頭霧水。有人說,英文不好,不學學啊,python不是不會嗎,當你看到這段文字的時候,不是正在學習嗎?
2、python變數命名(常量、函數名、類名等)規則
(1)、第一個字母必須是字母或下劃線(_),不能為數字。(2)、除第一個字母外可以是字母或數字或下劃線。(3)、大小寫敏感,意思是說,name,NAME 是不同的變數。
(4)、變數名使用小寫字母,如果由2個以上單詞構成的變數名,第一個單詞為小寫,後續的單詞首字母都大寫。 numberOfComputer,這種命名方式就是駱駝式命名方式。也可以採用number_of_computer這種命名方式。(5)、不能以python關鍵字或系統保留字為變數名。如果使用了關鍵字為變數名,造成原來的關鍵字被覆蓋了。 >>> import keywordn >>> keyword.kwlistn [False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield]n 例如:max(1, 2, 3) 這個max為內置函數,當你定義自己的變數名為max 時,再調用max(1, 2, 3)n 會報錯。看下面的圖。n
3、python是動態語言,變數不需要強制指定數據類型。
(1)、變數在它第一次賦值時創建。 n (2)、變數在表達式中使用被替換為它們的值。 n (3)、變數在表達式中使用之前必須先要賦值。(這個是初學者最容易犯的錯誤,經常變數沒有先賦值就使用。有的初學者打字n 有誤,造成變數名前後不一致,少一個字母或顛倒字母順序或大小寫等錯誤。 n 凡是報錯信息看到「NameError: name *** is not defined」,就是這個問題。)n
數據類型(數據類型是定義一個值的集合以及定義在這個值集上的一組操作。)
python內置數據類型
(1)、布爾類型,有2個值True和False。
這個最容易犯錯的地方在於初學者,大小寫寫錯,字母寫錯了。n 在python中一切非空值都為True,0值,None,空值,"",,[],(),{}等都為False.n 布爾類型主要用在if 判斷和 while循環語句中。n
(2)、數字類型
整型(int),就是整數 nn 複數(complex),Complex Numbersnn 浮點型(float)(特別要注意是,計算機浮點數是近似計算,不能將2個浮點數用 == 判斷相等。那怎麼做,後面再表。)n 在計算機科學中,浮點(英語:Float point,縮寫為FP)是一種對於實數的近似值數值表現法,由一個有效數字(即尾數)加上冪數來表示,通常是乘以某個基數的整數次指數得到。以這種表示法表示的數值,稱為浮點數(floating-point number)。利用浮點進行運算,稱為浮點計算,這種運算通常伴隨著因為無法精確表示而進行的近似或舍入。n 這種表示方法類似於基數為10的科學記數法,在計算機上,通常使用2為基數的冪數來表式。一個浮點數a由兩個數m和e來表示:a = m × be。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來存儲)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。如果m的第一位是非0整數,m稱作正規化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。n 這種表示法的設計,來自於對於值的表現範圍,與精密度之間的取捨:可以在某個固定長度的存儲空間內表示出某個實數的近似值。例如,一個指數範圍為±4的4位十進位浮點數可以用來表示43210,4.321或0.0004321,但是沒有足夠的精度來表示432.123和43212.3(必須近似為432.1和43210)。當然,實際使用的位數通常遠大於4。n 此外,浮點數表示法通常還包括一些特別的數值:+∞和?∞(正負無窮大)以及NaN(Not a Number)。無窮大用於數太大而無法表示的時候,NaN則指示非法操作或者無法定義的結果。n 其中,無窮大,可表示為inf,在內存中的值是,階碼為全1,尾數全0。而NaN則是階碼全1,尾數不全0。n
(3)、系列(Sequences)
字元串(str, unicode)n strn python2 中 represented as a sequence of 8-bit characters in Python 2.xn python 3中 str as a sequence of Unicode characters (in the range of U+0000 - U+10FFFF) in Python 3.xn python2 中,字元串有str, 和 unicode()類型。n >>> s = "黃哥"n >>> type(s)n <type str>n >>> s2 = u"黃哥"n >>> type(s2)n <type unicode>nn 位元組(bytes): only available in Python 3.xnn python 3中 str 和 bytes 互換,str調用encode()將字元串轉換為位元組。位元組調用decode()轉換為str.n
列表(list)(後面再表)nn 集合(Sets) (後面再表)nn set: an unordered collection of unique objects; available as a standard type since Python 2.6n frozen set: like set, but immutable (see below); available as a standard type since Python 2.6nn 字典(後面再表)nn dict: Python dictionaries, also called hashmaps or associative arrays, which means that an element of the list is associated with a definition, rather like a Map in Javan
對象
python 里所有數據,布爾類型值、整數、浮點數、字元串、列表、元組、字典、函數、類等都是對象。 python 變數是對對象的引用。(詳細後面再講)
跟黃哥學習python第四章
點擊黃哥python培訓試看視頻播放地址
黃哥python遠程視頻培訓班
推薦閱讀:
※Python tricks ——淺談Python加速
※GlumPy 中文文檔翻譯:上手簡介
※小心了!小白無法入門Python你不可避免的4個陷阱
※數據科學導論:序章
※關愛女性健康,從我做起
TAG:Python |