一、運(yùn)算符
1、算術(shù)運(yùn)算符:主要用于兩個(gè)對(duì)象算數(shù)計(jì)算(加減乘除等運(yùn)算)
運(yùn)算符:
+:兩個(gè)對(duì)象相加
-:得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù)
*:兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串
/:x除以y
%:返回除法的余數(shù)
**:返回x的y次冪
//:返回商的整數(shù)部分
2、比較(關(guān)系)運(yùn)算符:用于兩個(gè)對(duì)象比較(判斷是否相等、大于等運(yùn)算)
運(yùn)算符:
==:比較對(duì)象是否相等
!=:比較兩個(gè)對(duì)象是否不相等
<>: 比較兩個(gè)對(duì)象是否不相等
>: 返回x是否大于y
<: 返回x是否小于y。所有比較運(yùn)算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價(jià)。注意,這些變量名的大寫。
>=: 返回x是否大于等于y
<=: 返回x是否小于等于y
3、賦值運(yùn)算符:用于對(duì)象的賦值,將運(yùn)算符右邊的值(或計(jì)算結(jié)果)賦給運(yùn)算符左邊。
運(yùn)算符:
=: 簡(jiǎn)單的賦值運(yùn)算符
+=: 加法賦值運(yùn)算符
-=: 減法賦值運(yùn)算符
*=: 乘法賦值運(yùn)算符
/=: 除法賦值運(yùn)算符
%=: 取模賦值運(yùn)算符
**=: 冪賦值運(yùn)算符
//=: 取整除賦值運(yùn)算符
4、邏輯運(yùn)算符:用于邏輯運(yùn)算(與或非等)。
運(yùn)算符:
and: 并運(yùn)算符
or: 且運(yùn)算符
not: 非運(yùn)算符
5、位運(yùn)算符: 對(duì)Python對(duì)象進(jìn)行按照存儲(chǔ)的bit操作。
運(yùn)算符:
&: 按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
|: 按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。
^: 按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1
~: 按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?
<<: 左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0
>>: 右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動(dòng)的位數(shù)
6、成員運(yùn)算符:判斷一個(gè)對(duì)象是否包含另一個(gè)對(duì)象。
運(yùn)算符:
in: 如果在指定的序列中找到值返回 True,否則返回 False
not in: 如果在指定的序列中沒(méi)有找到值返回 True,否則返回 False
7、身份運(yùn)算符:判斷是不是引用自一個(gè)對(duì)象
運(yùn)算符:
is: 判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象
is not: is not是判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象
二、基本數(shù)據(jù)類型
1、數(shù)字: int(整數(shù))
2、字符串(str)
a.創(chuàng)建方式
s1 = "name"
s2 = str('myname')
b.特有功能
s1.upper() #轉(zhuǎn)換為大寫
s1.find() #查詢字符
s1.replace() #替換
s1.strip() #去掉首尾空白處
utf-8編碼:一個(gè)漢字,是3個(gè)字節(jié),1個(gè)字節(jié)是8位
c.編碼、for:
name = "李露"
for i in name:
print(i)
bytes_list = bytes(i, encoding='utf-8')
print(bytes_list)
for b in bytes_list:
1、python3.5 for循環(huán)時(shí)候,循環(huán)的每一個(gè)元素是“字符”
2、字符 =》字節(jié)
bytes_list = bytes("字符串", encoding='utf-8')
#utf-8 => 3字節(jié)
#gbk => 2字節(jié)
print(bytes_list) #默認(rèn)每一個(gè)字節(jié)都是16進(jìn)制表示
for b in bytes_list:
print(b) #默認(rèn)每一個(gè)字節(jié)都是10進(jìn)制表示
3、10進(jìn)制的數(shù)字 ==》2進(jìn)制
bin(10進(jìn)制的數(shù)字)
4、byte 和str
st = str()
a.創(chuàng)建字符串
b.轉(zhuǎn)換成字符串、字節(jié)、編碼、for
m = bytes()
a.創(chuàng)建字節(jié)
b.轉(zhuǎn)換成字節(jié),字符串,要編程什么編碼類型的字節(jié)
3、布爾值
4、元組(tuple)
a.創(chuàng)建元組
t = (11,21,33)
t1 = tuple()
b.特有功能
t= tuple()
t.count()
t.index()
c.嵌套(元素不可修改)
5、列表(list)
可變?cè)氐摹凹稀?
a.創(chuàng)建列表:
li = [11,22,33]
li = list() #創(chuàng)建一個(gè)列表
b.將其他元素轉(zhuǎn)換成列表
字符串、元組、字典 =》列表
t2 =("name","age")
l2 = list(t2)
c.特有功能
li = list()
li.append() #向列表中添加數(shù)據(jù)
li.clear() #清除
li.extend() #批量增加、擴(kuò)展
li.reverse() #翻轉(zhuǎn),自己內(nèi)部元素翻轉(zhuǎn)
li.insert() #向指定的位置插入元素
6、字典(dict)
三、基本數(shù)據(jù)類型之set(set是一個(gè)無(wú)序且不允許重復(fù)的集合)
1)創(chuàng)建
a. se = set() #創(chuàng)建一個(gè)空集合
b. se = {11,22,33,44}
2)實(shí)例:
li = [11,222,11,2]
s1 = set(li)
s1 = [2,11,222]
3)set提供的方法
a. add() #添加一個(gè)元素
b. clear() #清空集合內(nèi)容
c. copy() #全拷貝
d. difference #找不同的集合,并將新值賦值給新變量
例:
se = {11,22,33}
be = {22,55}
#找se中存在,be中不存在的集合,并將新值賦值給新變量
ret = se.difference(be)
print(ret)
#找be中存在,se中不存在的集合
ret = be.difference(se)
print(ret)
e. difference_update() #找不同的集合,并更新自己
例:
ss = {11,22,33}
bbb = {22,55}
#找se中存在,be中不存在的集合,并更新自己
ss.difference_update(bb)
print(ss)
#找be中存在,se中不存在的集合,并更新自己
bb.difference_update(ss)
print(bb)
f. discare()、remove() #移除指定的元素
例:
se = {11,22,33}
se.discare(11)
print(se) ==>{22,33}
g. intersection() #找交集,并將新值賦值給新變量
h. intersection_update() #找交集,并更新自己
i. isdisjoint() #有交集為False, 沒(méi)交集為True
j. issubset() #是否子集合,是子集合為True,否則為False
k. issuperset() #是否是父集合,是父集合為True,否則為False
l. union() #并集
四、三元運(yùn)算
普通的條件語(yǔ)句
if 1 == 1:
name = "hello"
else:
name = "world"
三元運(yùn)算語(yǔ)句
#如果條件成立,則將值1賦值給name,否則將值2賦值給name
name = 值1 if 條件 else 值2
五、不同數(shù)據(jù)類型在內(nèi)存中的存址方式
a. 字符串srt,一次性創(chuàng)建,不能被修改,只要修改,再創(chuàng)建
b. 列表list, 鏈表,下一個(gè)元素的位置,上一下元素的位置
六、深淺拷貝
1)深拷貝:在內(nèi)存中將所有的數(shù)據(jù)重新創(chuàng)建一份(排除最后一層,即python內(nèi)部對(duì)字符串和數(shù)字的優(yōu)化)
2)淺拷貝:在內(nèi)存中只額外創(chuàng)建第一層數(shù)據(jù)
3)賦值:只是創(chuàng)建一個(gè)變量,該變量指向原來(lái)的內(nèi)存地址。
a. 對(duì)于數(shù)字和字符串而言,賦值、淺拷貝和深拷貝無(wú)意義,因?yàn)槠溆肋h(yuǎn)指向同一個(gè)內(nèi)存地址。
b. 對(duì)于字典、元組和列表而言,賦值、淺拷貝和深拷貝時(shí),其內(nèi)存地址的變化是不同的
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
