Python 學(xué)習(xí)筆記 - 第一天

1.數(shù)字部分

運(yùn)算符?+, -, *, /, %, (), 與其他編程語言一致

>>>?2?+?2
4
>>>?50?-?5*6
20
>>>?(50?-?5*6)?/?4
5.0
>>>?8?/?5
1.6

需要說的一點(diǎn),?/?運(yùn)算結(jié)果是一個(gè)浮點(diǎn)數(shù).
如果需要除法運(yùn)算結(jié)果為整數(shù)(舍棄小數(shù)部分), 則需要使用?//?運(yùn)算符(吐槽: 不得不說一下這個(gè)符號(hào)真的會(huì)讓我誤以為是注釋..)

>>>?17?/?3
5.666666666666667
>>>
>>>?17?//?3
5
>>>?17?%?3
2
>>>?5?*?3?+?2
17

使用?**?運(yùn)算符可以計(jì)算冪乘方

>>>?5?**?2
25
>>>?2?**?7
128

賦值符號(hào)依舊是?=?.

>>>?width?=?20
>>>?height?=?5*9
>>>?width?*?height
900

最近的一個(gè)運(yùn)算結(jié)果給賦值給一個(gè)變量?_?, 這個(gè)變量是只讀的.

>>>?tax?=?12.5?/?100
>>>?price?=?100.50
>>>?price?*?tax
12.5625
>>>?price?+?_
113.0625
>>>?round(_,?2)
113.06

復(fù)數(shù)使用后綴?j?或者?J?表示虛數(shù)部分(例如,3+5j)

2.字符串

字符串可以使用雙引號(hào)?"..."?或者?'...'?來表示
轉(zhuǎn)義字符依舊是反斜杠?\

>>>?'spam?eggs'
'spam?eggs'
>>>?'doesn\'t'
"doesn't"
>>>?"doesn't"
"doesn't"
>>>?'"Yes,"?he?said.'
'"Yes,"?he?said.'
>>>?"\"Yes,\"?he?said."
'"Yes,"?he?said.'
>>>?'"Isn\'t,"?she?said.'
'"Isn\'t,"?she?said.'

字符串打印, 使用?print()?函數(shù)

>>>?'"Isn\'t,"?she?said.'
'"Isn\'t,"?she?said.'
>>>?print('"Isn\'t,"?she?said.')
"Isn't,"?she?said.
>>>?s?=?'First?line.\nSecond?line.'
>>>?s
'First?line.\nSecond?line.'
>>>?print(s)
First?line.
Second?line.

當(dāng)打印的字符串中有轉(zhuǎn)義字符?\?而你又需要在打印結(jié)果中顯示這個(gè)字符的時(shí)候, 可以在第一個(gè)引號(hào)之前加一個(gè)?r?字符, 表示使用原始字符串

>>>?print('C:\some\name')
C:\some
ame
>>>?print(r'C:\some\name')
C:\some\name

多行打印使用三引號(hào)?"""..."""?或者?'''...''', 多行換行時(shí), 行尾的換行符會(huì)被包含到字符串中, 可以在行尾加上?\?,表示下一行是當(dāng)前行的后續(xù)內(nèi)容, 不進(jìn)行換行.

print("""\
Usage:?thingy?[OPTIONS]
?????-h????????????????????????Display?this?usage?message
?????-H?hostname???????????????Hostname?to?connect?to
""")

字符串拼接, 可以使用?+?. 使用?*?表示字符串重復(fù).

>>>?3?*?'un'?+?'ium'
'unununium'

還可以使用空格來拼接一個(gè)相鄰的字符串, 但是這個(gè)空格左右不能是字符串變量, 只能是字符串文本.

>>>?'Py'?'thon'
'Python'

切分長字符串.

>>>?text?=?('Put?several?strings?within?parentheses?'
????????????'to?have?them?joined?together.')
>>>?text
'Put?several?strings?within?parentheses?to?have?them?joined?together.'

字符串索引, 類似 C, 可以用數(shù)組索引的方式獲取字符串中的字符, 索引值為負(fù)數(shù)時(shí)表示從右往左計(jì)算. 越界報(bào)錯(cuò)

>>>?word?=?'Python'
>>>?word[0]
'P'
>>>?word[5]
'n'
>>>?word[-1]
'n'
>>>?word[-2]
'o'
>>>?word[-6]
'P'

使用切片獲取一個(gè)子字符串, 截取結(jié)果包左不包右. 越界將被字符串長度代替.

>>>?word[0:2]
'Py'
>>>?word[2:5]
'tho'
>>>?word[:2]?+?word[2:]
'Python'
>>>?word[:4]?+?word[4:]
'Python'
>>>?word[:2]
'Py'
>>>?word[4:]
'on'
>>>?word[-2:]
'on'
>>>?word[4:42]
'on'
>>>?word[42:]
''

不可對(duì)索引獲得的字符或者子字符串賦值, 賦值時(shí)將報(bào)錯(cuò).

>>>?word[0]?=?'J'
??...
TypeError:?'str'?object?does?not?support?item?assignment
>>>?word[2:]?=?'py'
??...
TypeError:?'str'?object?does?not?support?item?assignment

切片時(shí)的索引是在兩個(gè)字符之間

?+--+--+--+--+--+--+
?|?P?|?y?|?t?|?h?|?o?|?n?|
?+--+--+--+--+--+--+
?0????1????2???3????4????5???6
-6??-5??-4?-3??-2???-1

3. 列表 list

與字符串一樣, 列表同樣可以進(jìn)行索引和切片.

>>>?squares?=?[1,?4,?9,?16,?25]
>>>?squares
[1,?4,?9,?16,?25]
>>>?squares[0]
1
>>>?squares[-1]
25
>>>?squares[-3:]
[9,?16,?25]

切片獲取的子列表是一個(gè)新的淺拷貝副本.

>>>?squares[:]
[1,?4,?9,?16,?25]

兩個(gè)列表拼接可以使用?+?符號(hào)拼接.

>>>?squares?+?[36,?49,?64,?81,?100]
[1,?4,?9,?16,?25,?36,?49,?64,?81,?100]

與字符串索引或切片不一樣, 列表索引或切片的結(jié)果是可以進(jìn)行賦值操作的.

>>>?cubes?=?[1,?8,?27,?65,?125]
>>>?4?**?3
64
>>>?cubes[3]?=?64
>>>?cubes
[1,?8,?27,?64,?125]

使用?append()?函數(shù)可以在列表末尾添加一個(gè)新的元素.

>>>?cubes.append(216)
>>>?cubes.append(7?**?3)
>>>?cubes
[1,?8,?27,?64,?125,?216,?343]

對(duì)切片賦值可以改變列表尺寸, 或清空列表.

>>>?letters?=?['a',?'b',?'c',?'d',?'e',?'f',?'g']
>>>?letters
['a',?'b',?'c',?'d',?'e',?'f',?'g']
>>>?letters[2:5]?=?['C',?'D',?'E']
>>>?letters
['a',?'b',?'C',?'D',?'E',?'f',?'g']
>>>?letters[2:5]?=?[]
>>>?letters
['a',?'b',?'f',?'g']
>>>?letters[:]?=?[]
>>>?letters
[]

用?len()?函數(shù)可以獲取列表的尺寸.

>>>?letters?=?['a',?'b',?'c',?'d']
>>>?len(letters)
4

嵌套列表 (類似多維數(shù)組了)

>>>?a?=?['a',?'b',?'c']
>>>?n?=?[1,?2,?3]
>>>?x?=?[a,?n]
>>>?x
[['a',?'b',?'c'],?[1,?2,?3]]
>>>?x[0]
['a',?'b',?'c']
>>>?x[0][1]
'b'

4. 菲波那契子序列的程序:

>>>?a,?b?=?0,?1
>>>?while?b?<?1000:
...????print(b,?end=',')
...????a,?b?=?b,?a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,>>>

使用?print()?函數(shù)時(shí), 用一個(gè)符號(hào)替換結(jié)尾?end?參數(shù)可以取消掉默認(rèn)的換行輸出.
與 C 類似, 任何非零整數(shù)都是 true, 0 為 false, 條件也可以是任何序列, 如字符串和列表等等, 當(dāng)長度為 0 時(shí)為 false, 長度不為 0 則為 true.
標(biāo)準(zhǔn)比較操作符?< , > , == , <=, >= 和 !=。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,565評(píng)論 0 13
  • 這是一個(gè)系列文章,用于記錄我學(xué)習(xí)python的筆記。 基礎(chǔ)語法 編碼 默認(rèn)情況下,Python 3 源碼文件以u(píng)t...
    Jaesoon閱讀 428評(píng)論 0 1
  • 正午的陽光刺眼,手拿著戶口準(zhǔn)遷證的大勝心里正七上八下的排在報(bào)到新生隊(duì)伍中,前面有還有六七個(gè)人,蝸行的速度讓大勝越發(fā)...
    黑白無閱讀 201評(píng)論 5 6
  • 2012年孩子滿月就在臥室用了空氣凈化器,2013年新房裝修安裝了新風(fēng)系統(tǒng),2014年冬天啟用新風(fēng)系統(tǒng)很多人還不明...
    四月晴天的日志閱讀 248評(píng)論 0 0

友情鏈接更多精彩內(nèi)容