python語法
幾個概念
1.表達(dá)式
1.1概念:
?是指由數(shù)字、算符、數(shù)字分組符號(括號)、自由標(biāo)量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合
1.2表達(dá)式特點
- 僅僅用于計算一些結(jié)果,不會對程序產(chǎn)生實質(zhì)性影響
- 在交互模式中輸入表達(dá)式,解釋器將會自動將表達(dá)式結(jié)果輸出
2.語句
2.1概念
?是指在語法上自成體系的單位,由一個詞或句法上有關(guān)連的一組詞構(gòu)成
2.2表達(dá)式特點
- 語句的執(zhí)行一般會對程序產(chǎn)生一定的影響
- 在交互模式中不一定會輸出語句的執(zhí)行結(jié)果
3.程序
?是指由一條一條的語句和一條一條的表達(dá)式構(gòu)成的
4.函數(shù)
4.1概念
?是指專門用來完成特定功能的一種語句,形式如xxx(),具有參數(shù)和返回值兩個要素
4.2分類
- 內(nèi)置函數(shù):是指由語法規(guī)定存在的函數(shù),包含在編譯器的運行時庫中,程序員只需要調(diào)用便可以對其進(jìn)行實現(xiàn)
- 自定義函數(shù):是指由程序員自主的創(chuàng)建的函數(shù)
標(biāo)識符
1.概念
?是指開發(fā)人員在程序中自定義的一些符號和名稱,例如變量名,函數(shù)名等
2.關(guān)鍵字
?是指具有一些特殊功能的標(biāo)識符,是指python已經(jīng)使用的,不允許開發(fā)者自定義與關(guān)鍵字相同的標(biāo)識符
3.標(biāo)識符的規(guī)則
- 標(biāo)識符中可以包含字母、數(shù)字、_但是不能使用數(shù)字開頭 例如:name1 name_1 _name1 1name(不行)
- 不能使用關(guān)鍵字和保留字來作為標(biāo)識符
- 小駝峰式命名法:第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
- 大駝峰式命名法:每一個單字的首字母都采用大寫字母,例如:FirstName、LastName
- 下劃線命名法:不過在程序員中還有一種命名法比較流行,就是用下劃線“_”來連接所有的單詞,比如 get_url,small_size
變量
變量的概念
?是指計算機(jī)內(nèi)存中的一塊用來存儲規(guī)定范圍內(nèi)的值的區(qū)域
變量的運算
- 注意在運算過程中含有浮點數(shù)時,其返回值也是浮點數(shù)
- 在進(jìn)行除法運算時,其返回值也是浮點數(shù)
變量在內(nèi)存中的原理
1.引用變量
- 當(dāng)兩個引用指向同一個int數(shù)據(jù)時,其地址是一樣的
- 當(dāng)兩個引用只想同一個str數(shù)據(jù)時,其地址是一樣的
- 當(dāng)兩個引用指向同一個list數(shù)據(jù)時,其地址是不一樣的
注意:對于int數(shù)據(jù),其 地址是一樣的前提是內(nèi)存量足夠大當(dāng)數(shù)據(jù)過大而超過內(nèi)存時,地址將會是不一樣的
2.拷貝
?當(dāng)進(jìn)行拷貝時,其地址是不一樣的
運算符
運算符的基礎(chǔ)概念
1.概念
?是指用于執(zhí)行代碼運算,針對一個以上操作項目進(jìn)行運算的符號
2.分類
?(如下標(biāo)題所示)
算術(shù)運算符
- 加法運算符 +
- 減法運算符 -
- 乘法運算符 *
- 除法運算符 /
- 整除運算符 //
- 取模運算符(求兩個相除的余數(shù))
- 冪運算符 **
賦值運算符
- += (x += 3 相當(dāng)于 x = x + 3 )
- -= (x -= 3 相當(dāng)于 x = x - 3 )
- *= (x *= 3 相當(dāng)于 x = x * 3 )
- **=(x = 3 相當(dāng)于 x = x3 )
- /= (x /= 3 相當(dāng)于 x = x / 3 )
- //=(x //= 3 相當(dāng)于 x = x // 3 )
- %= (x %= 3 相當(dāng)于 x = x % 3 )
比較運算符
?是指用來比較兩個值之間關(guān)系的符號,總會返回一個布爾值,如果關(guān)系成立,返回true;如果關(guān)系不成立,返回false
- > 比較左側(cè)值是否大于右側(cè)值
- >= 比較左側(cè)的值是否大于或等于右側(cè)的值
- < 比較左側(cè)值是否小于右側(cè)值
- <= 比較左側(cè)的值是否小于或等于右側(cè)的值
- == 比較兩個對象的值是否相等
- != 比較兩個對象的值是否不相等
- is 比較兩個對象是否是同一個對象,比較的是對象的id
- is not 比較兩個對象是否不是同一個對象,比較的是對象的id
邏輯運算符
- not 邏輯非:可以對符號右側(cè)的值進(jìn)行非運算,對于布爾值,非運算會對其進(jìn)行取反操作
- and 邏輯與:找false
- or 邏輯或:找true
條件運算符
?是指用來對條件表達(dá)式進(jìn)行求值判斷:如果判斷結(jié)果為true,則執(zhí)行語句1并返回執(zhí)行結(jié)果;如果判斷結(jié)果為false,則執(zhí)行語句2并返回結(jié)果
運算符的優(yōu)先級
運算符說明 |
python運算符 |
優(yōu)先級 |
結(jié)合性 |
小括號 |
() |
19 |
無 |
索引運算符 |
x[i]或x[i1:i2[:i3]] |
18 |
左 |
屬性訪問 |
x.attribute |
17 |
左 |
乘方 |
** |
16 |
左 |
按位取反 |
~ |
15 |
右 |
符號運算符 |
+、- |
14 |
右 |
乘除 |
*、/、//、% |
13 |
左 |
加減 |
+、- |
12 |
左 |
位移 |
>>、<< |
11 |
左 |
按位與 |
& |
10 |
右 |
按位異或 |
^ |
9 |
左 |
按位或 |
\vert |
8 |
左 |
比較運算符 |
==、!=、>、>=、<、<= |
7 |
左 |
is運算符 |
is、is not |
6 |
左 |
in運算符 |
in、not in |
5 |
左 |
邏輯非 |
not |
4 |
右 |
邏輯與 |
and |
3 |
左 |
邏輯或 |
or |
2 |
左 |
逗號運算符 |
exp1、exp2 |
1 |
左 |
基本數(shù)據(jù)類型
整數(shù)和小數(shù)
整數(shù):所有整數(shù) 例如 : a = 1 b = 100 c =999 都是int類型
小數(shù)常量:所有小數(shù) 例如 a = 1.2 b=6.66 用float類型表示
布爾值和空值
布爾值:只有兩個值,一個true,一個false
None常量:只有一個數(shù)值就是none也就是空值
字符串
?是指由數(shù)字、字母、下劃線組成的一串字符
?注意事項
- 單引號或者雙引號不能混合使用
- python中用一對雙引號或者單引號包裹的內(nèi)容就是字符串
1.轉(zhuǎn)義字符
?是一種特殊的字符常量,具有特殊的含義,不同于字符原有的意義
- \t 表示制表符
- \n 表示換行符
- \ 表示反斜杠
- ' 便是'
- ''便是''
2.長字符串
?我們使用三重引號''' '''來表示一個長字符串,可以換行并且保留字符串中的格式
3.格式化字符
- 拼串
- 參數(shù)傳遞
- 占位符
- f'{變量}'
- str.format()
4.字符串的其他操作
- len(): 字符串的長度
- max(): 最大值
- min(): 最小值
- split(): 分割字符串
- join(): 拼接字符串
- find(): 查找字符串
- replace(): 替換字符串
- partition(): 把字符串分割為三部分
- s.strip():左右兩邊去空格
- s.lstrip(): 去左邊空格
- s.rstrip():去右邊空格
- s.upper():全部大寫
- s.lower(): 全部小寫
- s.isupper(): 判斷是不是大寫
- s.islower(): 判斷是不是小寫
作業(yè)
1.a,b=6,8 我向讓a=8 b=6 我該怎么辦?用兩種方式實現(xiàn)
2.完成字符串的逆序以及統(tǒng)計
- 設(shè)計一個程序,要求只能輸入長度低于31的字符串,否則提示用戶重新輸入
- 打印出字符串長度
3.要求從鍵盤輸入用戶名和密碼,檢驗格式是否符合規(guī)則,如果不符合,打印出不符合的原因,并提示重新輸入
- 用戶名長度6-20,用戶名必須以字母開頭
- 密碼長度至少6位,不能為純數(shù)字,不能有空格
|