標籤:原理 簡寫 join 格式化 倒序 修改 AC 行修改 --
一、類型
1.變數沒有類型,資料有類型
例:num = 1 ---->num是沒有類型的,1是int類型
二、格式化輸出
2.name = "張三"
age = 18
print("我是" + name + ",今年" + age + "歲") #這樣會報錯,用+進行拼接時,正數和字串不能拼接
3.預留位置
%c 字元
%s 字串
%d 有符合的十進位整數
%u 無符號十進位整數
%o 八進位整數
%x 十六進位整數(小字母0x)
%X 十六進位整數(大寫字母0X)
%f 浮點數
%e 科學計數法(小寫‘e‘)
%E 科學計數法(小寫‘E‘)
%g %f和%e的簡寫
%G %f和%E的簡寫
三、運算子
1.
/ 除 得到結果是浮點數
//取整除 不是四捨五入 是取比結果小的第一個整數
%取餘
**指數
2.複合運算子(在進行符合運算的時候,不論什麼情況,都首先算等號右邊的式子)
+=
-=
*=
/=
**=
//=
3.常用資料類型轉換(input()輸入的是字串)
int(x) 將x轉換成一個整數
float(x) 將x轉換成一個浮點數
complex(real,[,imag]) 建立一個複數,real為實部,imag為虛部
str(x) 將x轉換成一個字串
repr(x) 將x轉換成運算式字串
eval(str) 用來計算在字串中的有效python運算式,並返回一個對象
tuple(s) 將序列s轉換成一個元組
list(s) 將序列s轉換成一個列表
chr(x) 將一個整數轉換成一個Unicode字元
ord(x) 將一個字元轉成一個ASCII整數值
hex(x) 將一個整數轉成一個十六進位的字串
4.切片
name = "abcdef"
print(name[0:3]) 取下標0-2的字元
print(name[0:5]) 取下標0-4的字元
print(name[3:5]) 取下標3-4的字元
print(name[2:]) 取下標2之後到最後的的字元
print(name[1:-1]) 取下標1開始到最後第二個的字元
5.字串常見的操作
find(str,0,len(mystr)) 尋找字串中是否出現str字元,從下標為0開始到最後;沒有找到則列印-1
index(str,0,len(mystr)) 跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.
count() 返回 str在start和end之間 在 mystr裡面出現的次數
replace() 把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
nystr.solit(str,2) 以 str 為分隔字元切片 mystr,2則表示 只分割幾個字串
capitalize 把字串第一個字元大寫
title 把字串的每個單字首大寫
startswith 檢查字串是否以"str"開頭,是則返回True
endswith 檢查字串是否以"str"結尾,是則返回True
lower 將字元中所有大寫轉換成小寫
upper 將字元中的所有小寫轉換成大寫
ljust 返回一個原字串靠左對齊,並使用空格填充至剩下長度的新字串
rjust 返回一個原字串靠右對齊,並使用空格填充至剩下長度的新字串
center 返回一個原字串置中,並使用空格填充至長度 width 的新字串
lstrip 刪除str左邊的空白字元
rstrip 刪除str左邊的空白字元
strip 刪除mystr字串兩端的空白字元rfind 從右尋找與find差不多
rindex 類似於 index(),不過是從右邊開始.
partition 把mystr以str分割成三部分,str前,str和str後
rpartition 類似於 partition()函數,不過是從右邊開始.splitlines 按照行分隔,返回一個包含各行作為元素的列表isalpha 如果 mystr 所有字元都是字母 則返回 True,否則返回 Falseisdigit 如果 mystr 只包含數字則返回 True 否則返回 False.isalnum 如果 mystr 所有字元都是字母或數字則返回 True,否則返回 Falseisspace 如果 mystr 中只包含空格,則返回 True,否則返回 False.join mystr中每個字串後面插入str構成一個新的字串
6.列表的常見操作(列表是有序的,可以重複,可變)
添加操作:
list_1.append("asd") 直接添加到最後
list_1.extend([1,2]) 將另一個集合中的元素逐一添加到列表中
list_1,insert(index,obj) index表示添加到指定下標處,obj代表要添加的內容
改操作:
list_1[1] 根據對應的位置進行修改
查:
in(存在),如果存在那麼結果為true,否則為false
not in(不存在),如果不存在那麼結果為true,否則false
index和count與字串中的用法相同 a.index(‘a‘,1,4)按照索引1到索引4尋找a出現的位置(這個位置還是原理的索引)
刪除操作:
del:根據下標刪除
pop:刪除最後一個元素
remove:根據元素的值進行刪除
排序:sort reverse
sort是將list按照特定的順序進行排列參數reverse=True可改為倒序,由大到小,
reberse是將list逆置
7:元組(元組的元素是不能修改的)
index和count與字串和列表中的用法相同
8:字典(無序可變)只有不可變的資料類型才能作為字典的鍵
若訪問不存在的索引值時則會報錯,
在我們不確定字典中是否存在某個鍵而又想擷取其值時,可以使用get方法,還可以設定預設值
添加操作:
1.根據索引訪問不存在的元素會報錯
2.如果在使用 變數名[‘鍵‘] = 資料 時,這個“鍵”在字典中,不存在,那麼就會新增這個元素
demo:添加新的元素
刪除操作:
del
del info["name"]
clear() 清空整個字典,但是字典本身還存在
len(dic) 測量字典中,索引值對的個數dic.keys 返回一個包含字典所有KEY的列表dic.values 返回一個包含字典所有value的列表dic.items 返回一個包含所有(鍵,值)元祖的列表
dic.has_key dict.has_key(key)如果key在字典中,返回True,否則返回False
遍曆字典的元素
dict = {"name":"zhangsan","sex":"nan"}
for item in dict.items()
print item
>>(‘name‘,‘zhangsan‘)
>>(‘sex‘,‘nan‘)
遍曆所有索引值對
dict = {"name":"zhangsan","sex":"nan"}
for k,v in dict.items()
print (k,v)
>>name,zhangsan
>>sex,nan
實現帶下標的索引遍曆
>>> chars = [‘a‘, ‘b‘, ‘c‘, ‘d‘]>>> for i, chr in enumerate(chars):... print i, chr...0 a1 b2 c3 d
cmp?python中才有
關於引用:
使用1:不可變類型,修改形參,不影響實參
使用2:可變類型作為實參 修改則改變實參
使用3:可變類型作為實參時,在函數裡為形參重新複製
結果:可變類型作為實參,如果為形參重新複製,修改形參不影響實參
python學習總結