變量
標識符命名規(guī)則:
1.標識符名字的第1個字符必須是字母或下劃線(_)
2.標識符名字的第1個字符后面可以由字母、下劃線或數(shù)字(0~9)組成
3.標識符名字是區(qū)分大小寫的。
Python的變量不需要聲明,可以直接使用賦值運算符對其進行賦值操作,根據(jù)所賦的值來決定其數(shù)據(jù)類型。
變量與變量之間的賦值操作不會改變變量的地址,對一個變量重新定義會改變變量的地址。
str1 ="這是一個變量"
print("變量str1的值是:"+str1)
print("變量str1的地址是:%d" %(id(str1)))
print("\n")
str2 = str1
print("變量str2的值是:"+str2)
print("變量str2的地址是:%d" %(id(str2)))
print("變量str1的值是:"+str1)
print("變量str1的地址是:%d" %(id(str1)))
print("\n")
str1 ="這是另一個變量"
print("變量str1的值是:"+str1)
print("變量str1的地址是:%d" %(id(str1)))
print("變量str2的值是:"+str2)
print("變量str2的地址是:%d" %(id(str2)))
數(shù)據(jù)類型
Python的數(shù)據(jù)類型包括簡單數(shù)據(jù)類型、列表、元組、字典和集合
1.轉(zhuǎn)換為數(shù)字
int(X)強行轉(zhuǎn)換
c ="(1+2)/3"
print(eval(c)) 直接得出計算結果
2.轉(zhuǎn)換為字符串
str(x) 強轉(zhuǎn)
rear(obj) 將對象轉(zhuǎn)換為可打印字符串
chr(整數(shù)) 將一個整數(shù)轉(zhuǎn)換為可對應ASCII碼的字符
ord(字符) 將一個字符轉(zhuǎn)換為對應的ASCII碼
hex(整數(shù)) 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串
oct(整數(shù)) 將一個整數(shù)的轉(zhuǎn)換為一個八進制字符串
列表
列表是一組有序存儲的數(shù)據(jù)
定義列表:languagelist = ['C++','C#','Java','Python']
print(languagelist) 直接打印列表名
len(languagelist) 獲取列表長度
languagelist[1] 訪問列表元素
languagelist.append(2) 添加列表元素
languagelist.insert(1,'JavaScript') 在指定位置插入元素
languagelist1.extend(languagelist2) 將一個列表2中的每個元素添加到列表1中
languagelist = languagelist1 + languagelist2 合并兩個列表,不會改變原有的列表元素
languagelist.index('C#') 定位元素的位置,如果不存在,會報異常
for i in range(len(languagelist)):
print(languagelist[I]) ? 遍歷列表元素
同時遍歷列表的元素索引和元素值
for index,valuein enumerate(languagelist):
print("第%d個元素值是【%s】" %(index,value))
list.sort()#升序
list1.reverse()#降序
listarr1 =range(11,20) 產(chǎn)生一個遞增列表 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
元組
1.一經(jīng)定義,元組的內(nèi)容不能改變
2.元組元素可以存儲不同類型的數(shù)據(jù),可以是字符串、數(shù)字、甚至是元組
3.元組元素由圓括號括起來
eg: t = (1,2,3,4)
其他與列表相似
因為元組的內(nèi)容不能改變,所以元組沒有sort()函數(shù)??梢詫⒃M轉(zhuǎn)換為列表,然后再對列表進行排序,最后將排序后的列表賦值給元組
l =list(t) 元組轉(zhuǎn)列表
t =tuple(l) 列表轉(zhuǎn)元組
字典
dict = {'name':'xiaoming','sex':'man','age':'18'}
len(dict) 獲取字典長度
dict['name'] 訪問字典元素
dict['score'] ='100' 添加字典元素
dict1 = {'teacher':'wang'}
dict.update(dict1) 合并兩個字典
dict.pop('teacher') 刪除字典元素
#判斷字典中是否存在元素
if 'name' in dict:
print(dict['name'])
else:
print('不包含鍵位name的元素')
dict1 = {'name':dict} 字典的嵌套
dict1.clear()?清空字典
dict1 = {'name':dict}?字典的嵌套
集合
s =set('python')
類型是set,元素是無序的
fs =frozenset('python') 創(chuàng)建不可變集合
類型是frozenset,元素是無序的
#訪問集合元素
for iin fs:
print(i)
s.add('1') 添加集合元素
s =set([1,2,3,4])
s.update([4,5,6,7]) 添加多個集合
s.remove(1) 刪除集合元素
s.clear() 清空集合所有元素
#判斷集合是否存在元素
s =set('python')
if 'p' in s:
print('exist')
else:
print('not exist')
s = s1 | s2 集合的并集
s = s1.union(s2)
s = s1 & s2 集合的交集
s = s1.intersection(s2)
s = s1 - s2 集合的差集
s = s1.difference(s2)
s = s1 ^ s2 集合的對稱差分
s = s1.symmetric_difference(s2)?
運算符和表達式
** 冪運算符
*= 冪賦值
^ 異或運算
~ 非運算。0取非運算的為1,1取非運算為0
and 相當于 &
or 相當于 |
not 非運算符
字符串運算符
+ 字符串連接
* 重復輸出字符串
[] 獲取字符串中指定索引位置的字符
[start,end] 截取字符串中的一部分,從索引位置start開始到end結束
in 成員運算符,如果字符串中包含給定的字符則返回true
not in 成員運算符,如果字符串中不包含給定的字符串則返回true
r 或者 R 指定原始字符串。原始字符串是指所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義字符、特殊字符或不能打印的字符。原始字符串中的第一個引號前加上字母"r"或"R"