一:運(yùn)算符(共八種)
1.算術(shù)元運(yùn)算符
+
-
*
/
% -->取余
** -->冪次,且優(yōu)先級(jí)最高
// -->返回商的整數(shù)部分

divmod(a,b)函數(shù)可滿足同時(shí)做商取整和取余的需要
2.比較運(yùn)算符
== 一個(gè)等于為賦值,兩個(gè)等于為比較
!= 不等于
<> 不等于
>
<
>=
<=
eg:1.下面選項(xiàng)哪個(gè)為True?
'abc' < 'xyz' 字符串比較轉(zhuǎn)為阿斯柯馬值比較
(3, 2) < ('a', 'b')

eg:下面選項(xiàng)的值
3>2>1 --->3>2 and 2>1
True(3>2)>1 --->(3>2)--->True>1--->
False此處注意True==1,F(xiàn)alse==0,所以1!>1注:有括號(hào)先比較括號(hào)里面的
3.賦值運(yùn)算符
=
+=
c+=a--->c=c+a
-=
c-=a--->c=c-a
*=
c=a--->c=ca
/=
c/=a--->c=c/a
%=
c%=a--->c=c%a
**=
c=a--->c=ca
//=
c//=a--->c=c//a
注:Python沒有c++這種表達(dá)方式
4.位運(yùn)算符
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
具體參考老師筆記
5.邏輯運(yùn)算符
and ->布爾與
只有所有都為True,and運(yùn)算的結(jié)果才是True
or ->布爾或
只要其中有一個(gè)為True,or運(yùn)算結(jié)果就是True
not ->布爾非
它是單目運(yùn)算符,把True變成False,F(xiàn)alse變成True

a and b返回的是20,not 20-->False 因?yàn)橹灰皇?就是True
6.成員運(yùn)算符
a in b
a not in b
主要通過例子展示

7.身份運(yùn)算符(有疑問)
is -->出于同一個(gè)對象
not is
注:不要與==混淆

8.三目(不常用,參考老師筆記)
二:數(shù)字類型
1.整數(shù)
通常被稱為整型,數(shù)值為正或者負(fù),不帶小數(shù)點(diǎn)。
小整數(shù)對象池(-5到256)
id()函數(shù)-->查看數(shù)字在內(nèi)存中的占位
具有連續(xù)性,間隔為32位

小整數(shù)有一個(gè)緩沖區(qū),不會(huì)立馬刪除,而是等待下一次調(diào)用緩沖區(qū)此處有疑問
2.浮點(diǎn)數(shù)
3.復(fù)數(shù)
4.數(shù)字類型轉(zhuǎn)換

5.數(shù)學(xué)計(jì)算
首先在Python中導(dǎo)入math包
import math
abs()
max()
min()
math.ceil()
math.floor()

注:ceil 為向上取整,floor是向下取整,與四舍五入無關(guān)其他函數(shù)參考老師筆記
三:布爾類型
True與False
注1:3 is "3" 為什么是False呢?一個(gè)是整數(shù)一個(gè)是字符串。is是運(yùn)算符比較的是對象,當(dāng)然是錯(cuò)誤的。

注2:0、0.0、-0.0、空字符串、空列表、空元組、空字典,這些都被判定為False。而-1、"False"也被判斷為True。
注3:運(yùn)算的時(shí)候,明顯把True看做1,F(xiàn)alse看做0。
注4:None不能理解為0,因?yàn)?是整數(shù)類型,而None是一個(gè)特殊的值。None也不是布爾類型,而是NoneType。
四:字符串型
1.字符串在內(nèi)存中的存儲(chǔ)方式

整型在內(nèi)存中占一個(gè)字節(jié),字符串不管中間有多少內(nèi)容都要單獨(dú)存儲(chǔ)
所以在后續(xù)的切片當(dāng)中雷同列表
2.字符串類型的轉(zhuǎn)換

這樣不會(huì)改變原本變量的數(shù)據(jù)類型,若想改變,則要將其賦值給另一個(gè)變量
num = int (num)
num
3.字符串的輸入(input)、輸出(print)

4.組成字符串的2種方式

注:列表當(dāng)中extend函數(shù)和+可將兩個(gè)列表組成同一個(gè)列表
5.字符串中的下標(biāo)
字符串的存儲(chǔ)方式是一個(gè)個(gè)的存儲(chǔ),所以要取出一個(gè)個(gè)的時(shí)候與列表雷同,都是用下標(biāo)(從0開始)且注意取最后一位是長度減1

6.字符串中的切片


解析:
a[0:4]-->取的時(shí)候按下標(biāo)取,且從0取到下標(biāo)為4的前一個(gè)數(shù)
a[2:-1]-->下標(biāo)為-1時(shí)為H,但不取到H,所以是從C-G
三個(gè)參數(shù):[起始位置:終止位置:步長]
步長的大小絕對取的跨度,步長的正負(fù)決定取的方向
a[0::2]-->終止位置不寫則默認(rèn)取到最后一個(gè)H,步長為2則意味著是隔一個(gè)取一個(gè),默認(rèn)步長為1
a[::-1]-->前兩個(gè)位置不寫都默認(rèn)為從開始到最后,步長的正負(fù)控制方向,所以-1則逆序輸出
7.字符串常見操作
1.find與index--->找到匹配到的子字符串的第一個(gè)字母在母字符串的下標(biāo)位置

a.find('tzpy')返回的是第一個(gè)出現(xiàn)tzpy的第一個(gè)字母t的下標(biāo)
a.rfind('tzpy')則返回的是出現(xiàn)的最后一個(gè)tzpy的第一個(gè)字母t的下標(biāo)
find與index的唯一區(qū)別:
a.find()沒找到返回-1
a.index()不存在則報(bào)錯(cuò)
2.count 字符串出現(xiàn)的次數(shù)

3.replace('a','b','1')把a(bǔ)改成b且只改一個(gè),第三個(gè)參數(shù)默認(rèn)則會(huì)全部替換

4.split() 切割

比如說用ya切割,則ya都會(huì)消失
5.strip 去空格(只會(huì)去掉字符前的空格)
用于登錄頁面

6.大小寫
capitalize() 首字母大寫
title() 每個(gè)單詞首字母大寫
lower() 把字符串所有大寫轉(zhuǎn)為小寫
upper()把字符串所有小寫轉(zhuǎn)為大寫

7.startswith() 判斷是否以那個(gè)單詞開始
endswith() 判斷是否以那個(gè)單詞結(jié)束

可以用于判斷文件類型
8.判斷數(shù)字或字母
isalpha 判斷是否全是字母
isdigit 判斷是否全是數(shù)字
num.isalnum() 如果 string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字
isinstance(l,(str,int))用于判斷l(xiāng)是不是字符串或整數(shù)
一般都用于判斷中
9.字符串format()格式化方法
前面說過%百分符格式化方法。Python官方最近逐步在推廣str.format()方法的格式化。
tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
tpl = "i am {0}, age {1}, {2}".format("seven", 18, 'alex')
tpl = "i am {0}, age {1}, {0}".format("seven", 18)