Python學習筆記 第一章 快速改造(基礎知識)

2021-09-09 07:11:50 字數 4195 閱讀 7111

絕大多數linux or unix,python直譯器預設已經安裝好了可以通過

$python 進行驗證
如果正確安裝,會進入python直譯器,按ctrl+d可以退出

如果沒有安裝,可以通過:

1.使用包管理器安裝,絕大多數linux系統家族都存在多種包管理系統和安裝機制

debian:$ apt-

get install python

gentoo: $emerge python

.

/configure --prefix=

$(pwd)

make

make install

最後如果安裝正確會在當前資料夾內找到乙個名為python的可執行檔案。將當前資料夾路徑包含到環境變數的path中,到此,安裝完成。

##mac book

略python.org可以獲得有關資訊,3.0後有很大更新,可以訪問python.org檢視

python不需要分號結束語句

直譯器能夠指出什麼地方出錯了

/符號為整除符,若左右值均為整數,結果為截掉小數點後的整數,這可以通過以下兩個方式使/為普通除號:

1.在程式前加:fromfutureimport division

2.如果通過命令列執行python直譯器,可以通過命令開關-qnew,轉換

python的專業整除符號為//

%:取餘,『**』:冪運算(冪運算子優先順序比取反高)

python可以處理非常大的整數:

普通整數不能大於2 147 483 647也不能小於-2 147 483 647,如果需要更大的數,可以用長整數,長整數比普通整數末尾多乙個l(l)

長整數和普通整數可以混合使用,絕大多數無需擔心他們之間的區別,除非需要型別檢查,任何時候都不應該進行型別檢查

十六進製制:0xaf,十進位制:175

八進位制:010,十進位制:8

表示式是某件事情,語句是做某件事情

python 3.0中print是函式,這意味著需要編寫print(42) 而不是print 42

可以用乙個函式pow()來代替冪運算:『**』,python中有很多函式,可以做很奇妙的事,當然也可自自定義函式,python自帶函式稱為內建函式

小數點後的位數會因使用的python的版本不同而不同

其他內建函式:round():將浮點數四捨五入為最接近的整數、floor、ceil

模組匯入到python程式後可以增強其程式功能

用import匯入模組math後:import math 可以通過math.floor()使用內建函式

用import匯入模組math中的內建函式後:form math import sqrt 可以直接使用foor()內建函式

可以通過變數來引用函式(python中大多數物件):

foo = math.sqrt #賦值

foo(4) #通過foo計算平方根

>>>

import math

>>>

sqrt(-

1)traceback

(most recent call last)

: file ""

, line 1,in

sqrt(-

1)nameerror: name 'sqrt' is not defined

>>>

import cmath

>>> cmath.

sqrt(-

1)1j>>>

觀察上面的過程,發現當執行 sqrt(-1)出現錯誤,這個很好理解,負數是不能取平方根的,但考慮複數呢?就可以了吧,觀察上面結果可以很容易得到答案。

cmath即complex math,是專門用來處理複數的模塊

1j是乙個虛數,python中虛數以j(j)來結尾

python中沒有單獨的虛數型別,它們被看做實數部分為0的複數

通過__future__模組可以匯入那些在未來可能會成為標準python組成部分的新特性

略unix中有乙個標準實現方法:在指令碼前加#!在其後再加:用於解釋指令碼的程式的絕對路徑

在系統中只安裝乙個版本的python時,乙個通用的做法是在程式開頭加:

#!/usr/bin/env python
但是系統中存在多個版本python時需要具體指定特定版本python位置:

#!/usr/bin/python2(具體路徑以實際為準)
在實際執行之前要保證指令碼可執行:

$ chmod a+x hello.py
執行:

$ hello.

py(不起作用試試:.

/hello.py)

windows中,關鍵是字尾.py,如果雙擊.py檔案,程式就會執行

但上面出現dos閃退的現象,試著改改**,在最後加上:

row_input

("press "

)

執行不會閃退了

試試檔名改為windows中專用檔案型別:hello.pyw,會怎麼樣?雙擊沒反應?為啥呢?後面會提到

>>>

"let's say "

'"hello world"'

'let\'s say "hello world"'

只是乙個接著另乙個的方式寫下兩個字串,python就會自動拼接,這只是在同時寫下兩個字串,且乙個挨著乙個時才是有效的

>>> x =

'hello'

>>> y =

'world'

>>> x y

syntaxerror: invalid syntax

當用變數引用兩個字串,並寫在一起時,是錯誤的

由上可得,乙個接著另乙個的方式寫下兩個字串僅僅是書寫字串的一種特殊方法,並不是字串拼接

>>>

'hello'

+'world'

'helloworld'

>>> x + y

'helloworld'

>>>

字串拼接的正確方法:+

所有通過python列印的字串會保持python**中的狀態,而不是希望使用者看到的狀態,print語句可以列印出使用者看到的狀態

這裡實際上是在討論值被轉化為字串的兩種方式:

1.通過str函式,把值轉化為使用者可以理解的狀態

2.通過repr函式,以合法的python表示式來表示值對應的字串

>>> s =

'socks'

>>> s +

repr(15

)'socks15'

>>> s +

`15`

'socks15'

>>> s +

15traceback

(most recent call last)

: file ""

, line 1,in

s +15typeerror: cannot concatenate 'str' and 'int' objects

>>>

repr(x) 可以通過x實現

總之,str、repr、``是python中實現值轉化為字串的3種方法。函式str讓字串更易讀,函式repr和反引號將結果字串轉化為合法的python表示式。

row_input()會把輸入當做原始資料,然後放入字串中,而input()會假設使用者輸入的是合法的python表示式。

1.長字串:字串非常長的時候,用三個引號(雙引號)代替普通引號

普通字串也可以跨行,如果一行中最後乙個字元是反斜線,那麼,換行符本身就「轉義」了,也就是被忽略了

print 「hello,\

world!」

2.原始字串:以r開頭,可以在原始字串中放入任何字元,當然也得像平常一樣,對引號進行轉義,最後的輸出包含轉義使用的字串

不能在原始字串的末尾插入反斜線,除非用於轉義,可以通過把反斜線單獨作為乙個字串來處理

3.unicode字串

unicode使用u為字首,python3.0中,所有字串都是unicode字串。

python學習第一章筆記

溫度轉化程式 運用軟體 thonny 執行結果 第一行 表示注釋,注釋可提高 可讀性和理解性。第二行 使用input函式由使用者的輸入中獲得,輸入值將儲存在tempstr變數中,tempstr是乙個字串型別的變數。第三行 if為條件判斷語句,條件為使用者輸入字串的最後乙個字元,用保留字in判斷其是否...

python第一章筆記 第一章 基礎

參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...

第一章學習筆記

看c primer已經好幾遍了,但是還是有很多基礎的問題,總是那樣容易忘記,這次看的時候,決定好好的寫寫讀書筆記 希望能夠認真的堅持下去。incluede的兩種不同格式 include some file 表明檔案是乙個標準工程,查詢先檢查預定義的目錄。include my file 表明改檔案是使...