Python 基礎(chǔ)

數(shù)據(jù)類(lèi)型和變量

0x表示十六進(jìn)制

浮點(diǎn)數(shù)
1.23e2 表示123.0
1.2e-2 表示0.012

整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的身堡,整數(shù)運(yùn)算永遠(yuǎn)是精確的叠纹,而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差

字符串

\ 為轉(zhuǎn)義字符
r'' 分好內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義
'''...''' 如果字符串內(nèi)部有很多換行使用

.py文件這么寫(xiě)
print('''line1
line2
line3''')

也可以在'''...'''前面加上r使用 如
print(r'''hello,\n
world''')

布爾值
True慰照、False
可以用and蛆挫、or、not運(yùn)算

空值 None

Python 是動(dòng)態(tài)語(yǔ)言 如
a  = 123
a = 'ABC'


常量
PI = 3.14159265359

>>> 10 / 3
3.3333333333333335

// 稱(chēng)為地板除域帐,兩個(gè)整數(shù)的除法仍然是整數(shù)
>>> 10 // 3
3

% 余數(shù)運(yùn)算
>>> 10 % 3
1

Python的整數(shù)和浮點(diǎn)數(shù)沒(méi)有大小限制赘被,但是超出一定范圍就直接表示為inf(無(wú)限大)

字符串

在最新的Python3中,字符串是以Unicode編碼的肖揣,也就是說(shuō)Python的字符串支持多語(yǔ)言

ord()函數(shù)獲取字符的整數(shù)表示

>>> ord('a')
97

chr()函數(shù)把編碼轉(zhuǎn)換為對(duì)應(yīng)的字符

>>> chr(97)
'a'

Python對(duì)bytes類(lèi)型的數(shù)據(jù)用帶b前綴的單引號(hào)或雙引號(hào)表示
x = b'ABC'

bytes的每個(gè)你字符都只占用一個(gè)字節(jié)
通過(guò)encode()方法可以編碼為指定的bytes
>>> 'ABC'.encode('ascii')
b'ABC'

>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'

在bytes中民假,無(wú)法顯示為ASCII字符的字節(jié),用\x##顯示龙优。


用decode()方法變?yōu)閟tr

>>> b'ABC'.decode('ascii')
'ABC'

>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

如果bytes中只有一小部分無(wú)效的字節(jié)羊异,可以傳入errors='ignore'忽略錯(cuò)誤的字節(jié):
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'


要計(jì)算str包含多少個(gè)字符,可以用len()函數(shù):
>>> len('ABC')
3

>>> len('中文'.encode('utf-8'))
6


py文件中加入# -*- coding: utf-8 -*- 
表示按照UTF-8編碼讀取源代碼

格式化

%d 整數(shù)
%f 浮點(diǎn)數(shù)
%s 字符串
%x 十六進(jìn)制整數(shù)

>>> 'Hello, %s' % 'world'
'Hello, world'

>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'

format()
>>> 'Hello, {0}, 成績(jī)提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成績(jī)提升了 17.1%'


print('提升了{(lán)0:.2f} %'.format(r))
print('%d%%' % 3)
提升了13.00 %
3%

list

有序 可變
classmates = ['Michael', 'Bob', 'Tracy']
獲取list的元素個(gè)數(shù)
len(classmates)
取出元素
classmates[0]

取出最后一個(gè)元素
classmates[-1]
倒第二個(gè)
classmates[-2]
追加
classmates.append('Adam')
插入
classmates.insert(1, 'Jack')
刪除末尾的
classmates.pop()
刪除指定的
classmates.pop(i)
替換
classmates[1] = 'Sarah'
元素類(lèi)型可以不同
L = ['Apple', 123, True]
元素也可以是另外一個(gè)list
s = ['python', 'java', ['asp', 'php'], 'scheme']
s[2][1]

tuple

有序彤断, 不可變
元組:tuple球化。tuple和list非常類(lèi)似,但是tuple一旦初始化就不能修改
classmates = ('Michael', 'Bob', 'Tracy')

定義一個(gè)元素的時(shí)候
t = (1,)

條件判斷

Python的if...elif...else很靈活瓦糟。

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')

your age is 20
adult

elif  是 else if縮寫(xiě)

if x:
    print('True')
只要x是非零數(shù)值、非空字符串赴蝇、非空l(shuí)ist等菩浙,就判斷為T(mén)rue,否則為False句伶。

類(lèi)型轉(zhuǎn)換
int(s)

循環(huán)

break 和 continue和其他語(yǔ)言都一樣
>>> list(range(5))
[0, 1, 2, 3, 4]


sum = 0
for x in range(101):
    sum = sum + x
print(sum)

5050


L = ['Bart', 'Lisa', 'Adam']
for x in L:
    print('Hello, %s' % x)

n = 0
while len(L) > n:
    print('Hello, %s' % L[n]) 
    n = n + 1



dict

無(wú)序
key必須是不可變的 tuple里包含list不行
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
添加
d['Adam'] = 67

判斷key不存在的錯(cuò)誤劲蜻,有兩種辦法
1、in
'Thomas' in d
False
2考余、通過(guò)dict提供的get()方法先嬉,如果key不存在,可以返回None楚堤,或者自己指定的value:
d.get('Thomas')
返回None的時(shí)候Python的交互環(huán)境不顯示結(jié)果
>>> d.get('Thomas', -1)
-1

刪除
d.pop('Bob')

set

無(wú)value 無(wú)重復(fù) 無(wú)序
要?jiǎng)?chuàng)建一個(gè)set疫蔓,需要提供一個(gè)list作為輸入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

添加
s.add(4)
刪除
s.remove(4)

交集并集
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

可變 不可變

>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']

替換
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市身冬,隨后出現(xiàn)的幾起案子衅胀,更是在濱河造成了極大的恐慌,老刑警劉巖酥筝,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滚躯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)掸掏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)茁影,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人丧凤,你說(shuō)我怎么就攤上這事募闲。” “怎么了息裸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蝇更,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我呼盆,道長(zhǎng)年扩,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任访圃,我火速辦了婚禮厨幻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腿时。我一直安慰自己况脆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布批糟。 她就那樣靜靜地躺著格了,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徽鼎。 梳的紋絲不亂的頭發(fā)上盛末,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音否淤,去河邊找鬼悄但。 笑死,一個(gè)胖子當(dāng)著我的面吹牛石抡,可吹牛的內(nèi)容都是我干的檐嚣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼啰扛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嚎京!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起侠讯,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤挖藏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后厢漩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體膜眠,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宵膨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片架谎。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辟躏,靈堂內(nèi)的尸體忽然破棺而出谷扣,到底是詐尸還是另有隱情,我是刑警寧澤捎琐,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布会涎,位于F島的核電站,受9級(jí)特大地震影響瑞凑,放射性物質(zhì)發(fā)生泄漏末秃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一籽御、第九天 我趴在偏房一處隱蔽的房頂上張望练慕。 院中可真熱鬧,春花似錦技掏、人聲如沸铃将。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)劲阎。三九已至,卻和暖如春鸠真,著一層夾襖步出監(jiān)牢的瞬間哪工,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工弧哎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稚虎。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓撤嫩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蠢终。 傳聞我的和親對(duì)象是個(gè)殘疾皇子序攘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容