負基礎小白學習廖雪峰python教程記錄(一) Python 基礎

#學習過程中的易忘易錯點#

命令行cd總結

跳轉到當前驅動器的根目錄

cd c:\

cd\

跳轉到當前驅動器下一層文件

cd coming

跳轉到當前驅動器的其他文件

cd c:\WINDOWS

跳轉到其他驅動器

D:

跳轉到其他驅動器的其他文件

cd/d F:\coming

跳轉到上一層目錄

cd..

查找當前目錄下的所有子文件

dir

查找hello.py里的內容

more hello.py


input&output 輸入和輸出

input

name = input('please enter your name: ')

放入xxx(姓名)在name之中

print('hello,', name)

output

常見的是print命令


字符串

字符\

如果字符串內部既包含'又包含",可以用轉義字符\來標識,比如:

'I\'m \"OK\"!'? ? ? ? ?‘\? ? “\

\n表示換行,\t表示制表符,字符\本身也要轉義,所以\\表示的字符就是\

如果字符串里面有很多字符都需要轉義,就需要加很多\,為了簡化,Python還允許用r''表示''內部的字符串默認不轉義。

>>> print(r'\\\t\\')\\\t\\

字符轉換

ord()函數獲取字符的整數表示,chr()函數把編碼轉換為對應的字符


空值

空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。


變量

變量在程序中就是用一個變量名表示了,變量名必須是大小寫英文、數字和_的組合,且不能用數字開頭。


作業

請打印出以下變量的值:

n = 123

f = 456.789

s1 = 'Hello, world'

s2 = 'Hello, \'Adam\''

s3 = r'Hello, "Bart"'

s4 = r'''Hello,

Lisa!'''

答案:print('n=123\nf=456.789\ns1=\'Hello,world\'\ns2\'Hello,\\\'Adam\\\'\ns3=r\'Hello,\"Bart\"\'\ns4=r\'\'\'Hello,\nLisa!\'\'\'')

格式化

用%實現

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

'Hello, world'

>>> 'Hi, %s, you have $%d.'% ('Michael',1000000)

'Hi, Michael, you have $1000000.'

%d 整數

%f 浮點數

%s 字符串

%x 十六進制整數

不太確定應該用什么,%s永遠起作用,它會把任何數據類型轉換為字符串

字符串里面的%是一個普通字符,用%%來表示一個%

>>> 'growth rate: %d %%'%7

'growth rate: 7 %'

>>>print('%.2f' % 3.1415926)

3.14


格式化字符串的format()方法,用傳入的參數依次替換字符串內的占位符{0}、{1}……

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

'Hello, 小明, 成績提升了 17.1%'


以f開頭的字符串為f-string,字符串如果包含{xxx},就會以對應的變量替換

>>> r =2.5

>>> s =3.14* r **2

>>> print(f'The area of a circle with radius {r} is {s:.2f}')

The area of a circle with radius 2.5 is 19.62

list

list是一種有序的集合,可以隨時添加和刪除其中的元素。

>>> classmates = ['Michael','Bob','Tracy']

>>> classmates['Michael','Bob','Tracy']

>>> classmates[0]? ? ? (從0開始,0代表第一個)

'Michael'

>>> classmates[1]

'Bob'

>>> classmates[-1]? ?(從-1開始,0代表倒數第一個)

'Tracy'

末尾添加元素

>>> classmates.append('Adam')

>>> classmates

['Michael','Bob','Tracy','Adam']

把元素插入到指定的位置,比如索引號為1的位置

>>> classmates.insert(1,'Jack')

>>> classmates

['Michael','Jack','Bob','Tracy','Adam']

刪除list元素 pop()方法

pop()刪除末尾元素

>>> classmates.pop()

'Adam'

>>> classmates

['Michael','Jack','Bob','Tracy']

刪除指定位置的元素pop(i)方法,其中i是索引位置

>>> classmates.pop(1)

'Jack'

>>> classmates

['Michael','Bob','Tracy']

把某個元素替換成別的元素,可以直接賦值給對應的索引位置

>>> classmates[1] ='Sarah'

>>> classmates

['Michael','Sarah','Tracy']

list元素也可以是另一個list

>>> s = ['python','java', ['asp','php'],'scheme']

>>> len(s)

4

>>> p = ['asp','php']

>>> s = ['python','java', p,'scheme']

一個空的list,它的長度為0

tuple

tuple一旦初始化就不能修改

>>> classmates = ('Michael','Bob','Tracy')

只有1個元素的tuple定義時必須加一個逗號,,來消除歧義

>>> t = (1,)

>>> t

(1,)

“可變的”tuple

>>> t = ('a','b', ['A','B'])

>>> t[2][0] ='X'

>>> t[2][1] ='Y'

>>> t

('a','b', ['X','Y'])


作業

L = [

? ? ['Apple', 'Google', 'Microsoft'],

? ? ['Java', 'Python', 'Ruby', 'PHP'],

? ? ['Adam', 'Bart', 'Lisa']

]

# 打印Apple

print(L[0][0])

# 打印Python:

print(L[1][1])

# 打印Lisa:

print(L[2][2])


判斷語句

if<條件判斷1>:

????<執行1>

elif<條件判斷2>:

????<執行2>

elif<條件判斷3>:

????<執行3>

else:

????<執行4>

input()返回的數據類型是str,str不能直接和整數比較,必須先把str轉換成整數

s = input('birth: ')

????birth = int(s)

if birth <2000:

????print('00前')

else:

????print('00后')

命令行input默認要輸入而不是程序,會在第二行出現birth:。因在vscode中寫完整個程序后調用。

作業

height=input('請輸入您的身高(M):')

weight=input('請輸入您的體重(KG):')

h=int(height)

w=int(weight)

bmi=w/h/h

if?bmi>32:

????print('嚴重肥胖')

elif?32>=bmi>28:

????print('肥胖')

elif?28>=bmi>25:

????print('過重')

elif?25>=bmi>18.5:

????print('正常')

else:

????print('偏瘦')


循環

for...in循環,依次把list或tuple中的每個元素迭代出來

names = ['Michael','Bob','Tracy']

for name in names:

print(name)

sum =0

for x in[1,2,3,4,5,6,7,8,9,10]:?

sum = sum + x

print(sum)

range()函數,可以生成一個整數序列,再通過list()函數可以轉換為list。比如range(5)生成的序列是從0開始小于5的整數:

>>>list(range(5))

[0, 1, 2, 3, 4]

作業

L?=?['Bart',?'Lisa',?'Adam']

for?x?in?L:

????print('hello,',x,'!')


break語句可以在循環過程中直接退出循環,而continue語句可以提前結束本輪循環,并直接開始下一輪循環。這兩個語句通常都必須配合if語句使用。

n =1

while n <=100:

????if n >10:? # 當n = 11時,條件滿足,執行break語句break# break語句會結束當前循環

????print(n)?

? ? n = n +1

print('END')


n =0

while n <10:?

?????n = n +1

????if n %2==0:? # 如果n是偶數,執行continue語句

????continue? ?# continue語句會直接繼續下一輪循環,后續的print()語句不會執行

print(n)

不要濫用break和continue語句

dict

方法一:

>>> d = {'Michael':95,'Bob':75,'Tracy':85}

>>> d['Michael']

95

方法二:

>>> d['Jack'] =90

>>> d['Jack']90


>>> d['Jack'] =88

>>> d['Jack']88

key-value的存儲方式中,一個key只能對應一個value,所以多次對key放入value,后面的值會把前面的值沖掉。

檢驗key存在與否:

方法一:

>>> 'Thomas' in d

False

方法二:

>>> d.get('Thomas')

>>> d.get('Thomas', -1)

-1

可以返回None,或者自己指定的value

刪除key

>>> d.pop('Bob')

75

>>> d

{'Michael':95,'Tracy':85}


set

在set中,沒有重復的key

>>> s = set([1,1,2,2,3,3])

>>> s{1,2,3}

add(key)方法可以添加元素到set中,可以重復添加,但不會有效果

>>> s.add(4)

>>> s{1,2,3,4}

>>> s.add(4)

>>> s{1,2,3,4}

remove(key)方法可以刪除元素:

>>> s.remove(4)

>>> s{1,2,3}


set可以看成數學意義上的無序和無重復元素的集合,因此,兩個set可以做數學意義上的交集、并集等操作

>>> s1 = set([1,2,3])

>>> s2 = set([2,3,4])

>>> s1 & s2{2,3}

>>> s1 | s2{1,2,3,4}

字符串replace()

>>> a ='abc'

>>> b = a.replace('a','A')

>>> b

'Abc'

>>> a

'abc'

tuple不變,但是調用replace作用于字符串’abc‘。可以理解為tuple中坑位是不變的,只是針對坑里的東西做了置換?

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容

  • 安裝Python 下載安裝python64位 32位 記得勾選Add Python 3.5 to PATH ,然后...
    邱凱達閱讀 927評論 0 0
  • 目錄最重要的工具PIP, 以及常用的網站,IDE推薦 基本概念 函數 進階概念:裝飾器,迭代器,列表推導式,匿名函...
    六合魚閱讀 255評論 0 0
  • 廖老師教程寫的還是不錯的,看了一下午,基本可以寫腳本了。 Hello World不用寫分號 輸入輸出print輸出...
    Hanze2111閱讀 522評論 0 0
  • Print(“HelloWorld”)這句經典的語句在各種語言基礎中都是必須學習的,這也是幫你入門的象征吧,我也不...
    Dear_slq閱讀 714評論 0 0
  • Python 是一種相當高級的語言,通過 Python 解釋器把符合語法的程序代碼轉換成 CPU 能夠執行的機器碼...
    Python程序媛閱讀 1,931評論 0 3