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

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