1.起步
2.變量和簡單數(shù)據(jù)類型
1.變量
message = "hello world python"
print(message)
2.命名
2.使用變量時避免命名錯誤
3.字符串
1.使用方法修改字符串的大小寫
name = 'ada lovelace'
print(name.title())
輸出得到:
Ada Lovelace
title()以首字母大寫的方式顯示每個單詞北专,即每個單詞的首字母都改為大寫
print(name.upper())
print(name.lower())
得到:
ADA LOVELACE
ada lovelace
2.拼接字符串
用“+” 來拼接字符串
“\t,\n”來空格與換行
3.刪除空白
rstrip() 刪除末尾的空白
lstrip() 刪除頭部的空白
strip() 刪除字符串兩端的空白
msg = ' python '
print(msg.rstrip())
print(msg.lstrip())
print(msg.strip())
得到
python
python
python
4.使用字符串避免語法錯誤
單引號與單引號一對担扑,
雙引號與雙引號是一對聋涨,
一般要成對出現(xiàn),且溉躲。
4.使用函數(shù)str()避免類型錯誤
age = 23
msg = "Happy "+str(age)+" rd Birthday" # 必須使用str()否則python識別不了
print(msg)
3.列表簡介
1.列表是什么
bicycles = ['trek','cannondale','redline','specialized']
print(bicycles)
1.訪問列表元素
print(bicycles[0])
得到
trek
2.索引從0而不是1開始
2.修改榜田,添加和刪除元素
1.修改列表元素
names =['zhangsan','lisi','wangwu','zhaoliu']
print(names)
names[0] = 'zhangsanfeng'
print(names)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhangsanfeng', 'lisi', 'wangwu', 'zhaoliu']
2.列表中添加元素
- 在列表末尾添加元素
names.append('qianda')
print(names)
得到:
['zhangsanfeng', 'lisi', 'wangwu', 'zhaoliu', 'qianda']
cars = [ ]
cars.append('honda')
cars.append('honda2')
cars.append('honda3')
print(cars)
得到
['honda', 'honda2', 'honda3']
- 在列表中插入元素
cars.insert(0,'honda0')
print(cars)
得到:
['honda0', 'honda', 'honda2', 'honda3']
3.2.3列表中刪除元素
nicks =['zhangsan','lisi','wangwu','zhaoliu']
del nicks[0]
print(nicks)
得到:
['lisi', 'wangwu', 'zhaoliu']
>nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
poped_nicks = nicks.pop();
print(nicks)
print(poped_nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhangsan', 'lisi', 'wangwu']
zhaoliu
- 彈出列表中任何位置處的元素
- 使用方法pop()刪除元素
有時候要將元素從列表中刪除,并接著使用它的值,方法pop()可刪除列表末尾的元素锻梳,并讓你能夠接著使用它串慰。 - 使用del語句刪除元素
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
poped_nicks = nicks.pop(0)
print('The first name is '+poped_nicks.title()+'.')
得到:['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
The first name is Zhangsan.
如果不確定使用del語句還是pop()方法,有一個簡單的標(biāo)準(zhǔn):如果你要從列表中刪除的一個元素唱蒸,且不再以任何方式使用它,就使用del語句灸叼;如果你要在刪除元素后還能繼續(xù)使用它神汹,就使用方法pop()
- 根據(jù)值刪除元素
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
nicks.remove('lisi')
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhangsan', 'wangwu', 'zhaoliu']
3.組織列表
1.使用方法sort()對列表進(jìn)行永久性排序—按字母排序
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
nicks.sort();
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['lisi', 'wangwu', 'zhangsan', 'zhaoliu']
還可以按字母順序相反的順序排列列表元素,只需要向sort()方法傳遞參數(shù)reverse = True
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
nicks.sort(reverse = True);
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhaoliu', 'zhangsan', 'wangwu', 'lisi']
2.使用方法sorted()對列表進(jìn)行臨時排序—按字母排序
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
print(sorted(nicks))
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['lisi', 'wangwu', 'zhangsan', 'zhaoliu']
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
還可以相反順序臨時排序
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
print(sorted(nicks,reverse = True))
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhaoliu', 'zhangsan', 'wangwu', 'lisi']
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
3.倒著打印列表,按元素反轉(zhuǎn)列表排序
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks)
nicks.reverse()
print(nicks)
得到:
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['zhaoliu', 'wangwu', 'lisi', 'zhangsan']
方法reverse()永久性地修改列表元素的排列順序古今,但可隨時恢復(fù)原來的排列順序屁魏,只需要再次調(diào)用reverse()
4.確定列表的長度
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(len(nicks))
得到:4
4.使用列表時避免索引錯誤
注意元素的個數(shù),另外訪問最后一個元素時捉腥,都可使用索引-1,倒數(shù)第2個可以使用索引-2,依次類推
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks[-1])
得到:
zhaoliu
4.操作列表
1.遍歷整個列表
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick)
得到:
zhangsan
lisi
wangwu
zhaoliu
for cat in cats:
for dog in dogs
for item in list_of_items
使用單數(shù)和復(fù)數(shù)的式名稱可幫助判斷代碼段處理的是單個列表元素還是整個列表氓拼。
1.在for循壞環(huán)中執(zhí)行更多的操作
在每條記錄中打印一條消息。
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
得到:
Zhangsan, welcome to china
Lisi, welcome to china
Wangwu, welcome to china
Zhaoliu, welcome to china
執(zhí)行多行代碼,這里需要注意一下桃漾,接下來的代碼都是需要縮進(jìn)的
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
print("hello,python")
得到:
Zhangsan, welcome to china
hello,python
Lisi, welcome to china
hello,python
Wangwu, welcome to china
hello,python
Zhaoliu, welcome to china
hello,python
2.在for循環(huán)結(jié)束后執(zhí)行一些操作
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
print("hello,python")
print("print all message and print finish!")
得到:
Zhangsan, welcome to china
hello,python
Lisi, welcome to china
hello,python
Wangwu, welcome to china
hello,python
Zhaoliu, welcome to china
hello,python
print all message and print finish!
可以看到最后一條要打印的消息只打印一次坏匪,最后一條沒有縮進(jìn),因此只打印一次
2.避免縮進(jìn)錯誤
- 忘記縮進(jìn)
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
得到:
File "/Users/liuking/Documents/python/python_learn/test.py", line 22
print(nick.title()+", welcome to china")
^
IndentationError: expected an indented block
- 忘記縮進(jìn)額外的代碼行
# 其實想打印兩行的消息撬统,結(jié)果只打印了一行适滓,print("hello,python") 忘記縮進(jìn)了,結(jié)果只是最后一條打印了這條消息
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
print("hello,python")
得到:
Zhangsan, welcome to china
Lisi, welcome to china
Wangwu, welcome to china
Zhaoliu, welcome to china
hello,python
# 不必要的縮進(jìn)
>message = 'hello python world'
print(message)
得到:
File "/Users/liuking/Documents/python/python_learn/test.py", line 20
print(message)
^
IndentationError: unexpected indent
# 循環(huán)后不必要的縮進(jìn)
第三個打印的消息沒有縮進(jìn)恋追,結(jié)果每一行都被打印出來了凭迹。
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks:
print(nick.title()+", welcome to china")
print("hello,python")
print("print all message and print finish!")
得到:
Zhangsan, welcome to china
hello,python
print all message and print finish!
Lisi, welcome to china
hello,python
print all message and print finish!
Wangwu, welcome to china
hello,python
print all message and print finish!
Zhaoliu, welcome to china
hello,python
print all message and print finish!
- 遺漏了冒號
漏掉了冒號,python不知道程序意欲何為苦囱。
3.創(chuàng)建數(shù)值列表
1.使用函數(shù)range()
函數(shù)range()讓你能夠輕松地生成一系列的數(shù)字嗅绸。
for value in range(1,5):
print(value)
得到:
1
2
3
4
只打印了1?4 函數(shù)range()從指定的第一個值開始數(shù),并在到達(dá)你指定的你第二個值后停止撕彤。
2.使用range()創(chuàng)建數(shù)字列表
要創(chuàng)建數(shù)字列表鱼鸠,可使用函數(shù)list()將range()的結(jié)果直接轉(zhuǎn)換為列表,如果將range()作為list()的參數(shù)喉刘,輸出將為一個數(shù)字列表瞧柔。
numbers = list(range(1,6))
print(numbers)
得到:
[1, 2, 3, 4, 5]
把10個整數(shù)的平方加入列表中,并打印出來
squares = [ ]
numbers = range(1,11)
for number in numbers:
squares.append(number**2)
print(squares)
得到:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.對數(shù)字列表執(zhí)行簡單的統(tǒng)計計算
最小值睦裳,最大值造锅,求和
digits = [1,2,3,4,5,6,7,8,9,0]
print(min(digits))
print(max(digits))
print(sum(digits))
得到:
0
9
45
4.使用列表的一部分
1.切片
nicks =['zhangsan','lisi','wangwu','zhaoliu']
print(nicks[0:3]) 前一個數(shù)從0開始,后一個數(shù)從1開始數(shù)
print(nicks[2:3]) 從2開始廉邑,截止到第4個元素
print(nicks[2:]) 從2開始哥蔚,沒有指定截止數(shù)據(jù),直接數(shù)到末尾
print(nicks[:2]) 沒有指定開始蛛蒙,默認(rèn)從0開始
print(nicks[:]) 沒有指定開始糙箍,也沒有指定結(jié)束的,直接復(fù)制整個列表
print(nicks[-2:]) 從倒數(shù)第2個開始
得到:
['zhangsan', 'lisi', 'wangwu']
['wangwu']
['wangwu', 'zhaoliu']
['zhangsan', 'lisi']
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
['wangwu', 'zhaoliu']
2.遍歷切片
nicks =['zhangsan','lisi','wangwu','zhaoliu']
for nick in nicks[0:3]:
print(nick.title())
得到:
Zhangsan
Lisi
Wangwu
3.復(fù)制列表—-需要特別注意了
nicks =['zhangsan','lisi','wangwu','zhaoliu']
nicks_copy = nicks[:]
print("original nicks")
print(nicks)
print("copy nicks")
print(nicks_copy)
得到:
original nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
copy nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
為了核實我們確實有兩個列表牵祟,
我們可以再添加一下東西
nicks =['zhangsan','lisi','wangwu','zhaoliu']
nicks_copy = nicks[:]
nicks.append('zhangsanfeng')
nicks_copy.append('zhangwuji')
print("original nicks")
print(nicks)
print("copy nicks")
print(nicks_copy)
得到:
original nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'zhangsanfeng']
copy nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'zhangwuji']
如果我們只是簡單的nicks賦值給nicks_copy就不能得到兩個列表
>nicks =['zhangsan','lisi','wangwu','zhaoliu']
nicks_copy = nicks;
nicks.append('zhangsanfeng')
nicks_copy.append('zhangwuji')
print("original nicks")
print(nicks)
print("copy nicks")
print(nicks_copy)
得到:
original nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'zhangsanfeng', 'zhangwuji']
copy nicks
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'zhangsanfeng', 'zhangwuji']
因為nicks和nicks_copy都指向同一個列表深夯,所以都打印出了相同的列表,這里要特別注意
5.元組
python將不能修改的值稱為不可變的诺苹,而不可變的列表被稱為元組咕晋。有的時候需要創(chuàng)建一系列不可修改的元素,元組可以滿足這種需要收奔。
- 定義元組
元組看起來像列表掌呜,但使用圓括號而不是方括號來標(biāo)識,定義元組后坪哄,就可以使用索引來訪問其元素质蕉。
point = (200,50,300,90)
print(point[0])
print(point[1])
print(point[2])
print(point[-1])
>得到:
>200
50
300
90
- 遍歷元組中的所有值
points = (200,50,300,90)
for point in points:
print(point)
>得到:
>200
50
300
90
- 修改元組變量
雖然不能修改元組的元素势篡,但可以給存儲元組的變量賦值。重新定義整個元組模暗。
print("original data")
points = (200,50,300,90)
for point in points:
print(point)
print("\nmodify data")
points = (1,2,3,4)
for point in points:
print(point)
得到:
original data
200
50
300
90
modify data
1
2
3
4
5.if語句
1.條件測試
檢查相等用‘==’
檢查不相等用‘!=’
-
檢查多個條件
- 使用and檢查多個條件:要檢查是否兩個條件都為True,可使用關(guān)鍵字and將兩個條件測試合而為一禁悠;如果每個測試都通過了,整個表達(dá)式為就為True,如果至少有一個測試沒有通過汰蓉,則整個表達(dá)式為False
- 使用or檢查多個條件:至少有一個條件滿足绷蹲,就能通過整修測試,僅當(dāng)兩個測試都沒有通過時顾孽,使用or的表達(dá)式才為False
檢查特定值是否包含在列表中祝钢,使用關(guān)鍵字in
request_topping = ['mushrooms','onions','pineapple']
print('mushrooms' in request_topping)
print('mush' in request_topping)
得到:
True
False
- 檢查特定值是否不包含在列表中,使用關(guān)鍵字not in
request_topping = ['mushrooms','onions','pineapple']
print('mushrooms' not in request_topping)
print('mush' not in request_topping)
得到:
False
True
2.if語句 主要注意的是代碼縮進(jìn),
- if
- if-else
- if-elif-else
- 多個代碼塊
6.字典
1.字典的簡單使用
在Python中字典是一系列的鍵值對若厚,每一個鍵都與一個值相關(guān)聯(lián)拦英,與鍵相關(guān)聯(lián)的值可以是數(shù)字,字符串测秸,列表疤估,乃至字典。
- 訪問字典的值
>alien_0 = {'color':'green','point':5}
print(alien_0['color'])
得到:
green
- 添加鍵值對
alien_0 = {'color':'green','point':5}
print(alien_0)
alien_0['x_point'] = 250
alien_0['y_point'] = 100
print(alien_0)
得到:
{'color': 'green', 'point': 5}
{'color': 'green', 'y_point': 100, 'x_point': 250, 'point': 5}
- 先創(chuàng)建一個空字典
alien_0 = {}
alien_0['x_point'] = 250
alien_0['y_point'] = 100
print(alien_0)
得到:
{'y_point': 100, 'x_point': 250}
- 修改字典中的值
alien_0 = {}
alien_0['y_point'] = 100
print(alien_0)
alien_0['y_point'] = 1000
print(alien_0)
得到:
{'y_point': 100}
{'y_point': 1000}
- 刪除-鍵值對
alien_0 = {'color':'green','point':5}
print(alien_0)
del alien_0['point']
print(alien_0)
得到:
{'color': 'green', 'point': 5}
{'color': 'green'}
2.遍歷字典
- 遍歷所有的鍵值對
values = {'1':'one','2':'two','3':'three','4':'four'}
for value in values.items():
print(value)
for key,value in values.items():
print("\nkey:"+key)
print("value:"+value)
得到:
('1', 'one')
('3', 'three')
('2', 'two')
('4', 'four')
key:1
value:one
key:3
value:three
key:2
value:two
key:4
value:four
1.遍歷字典中所有的鍵
values = {'1':'one','2':'two','3':'three','4':'four'}
for value in values.keys():
print(value)
得到:
1
3
2
4
2.遍歷字典中所有的值
values = {'1':'one','2':'two','3':'three','4':'four'}
for value in values.values():
print(value)
得到:
one
three
two
four
3.按順序遍歷字典中所有鍵
values = {'first':'one','second':'two','three':'three'}
for value in sorted(values.keys()):
print(value)
得到:
first
second
three
結(jié)束語
如果您對這篇文章有什么意見或者建議,請評論與我討論.
如果您覺得還不錯的話~可以點個喜歡鼓勵我哦.
如果您想和我一起學(xué)習(xí),請毫不吝嗇的私信我吧~