Python第一週--零星知識點(2)

1. 變量 & 常量

(1)簡化命名變量python

user,passwd = '  ' , '  'git

(2)常量用全大寫標示api

2.  .pyc簡要介紹

(1)python是一門解釋性語言。app

(2)解釋型語言和編譯型語言(不能純粹的分爲這兩種,例如Java):高級語言----編譯&解釋---->機器語言函數

    解釋型語言—>程序運行時,經過解釋器對程序逐行作出解釋,而後直接運行,典型:Rubyspa

    編譯型語言—>程序執行前,先經過便與其對程序執行一個編譯的過程,將高級語言變爲機器語言,運行時,不需翻譯,直接執行。典型:C翻譯

    Java等基於虛擬機的語言。Java首先是經過編譯器編譯成字節碼文件,而後在運行是經過解釋器給解釋成機器文件。因此咱們說Java是一種先編譯後解釋的語言。orm

(3)python和Java/ C#同樣,也是一門基於虛擬機的語言。先編譯後解釋的語言。對象

        程序----編譯---->.pyc(PyCodeObject)----python解釋器能夠讀懂的字節文件。排序

3. 數據類型

(1)int(整型)

    32位機器上,整數的位數爲32位,取值範圍:-2**31~2**31-1

    64位機器上,整數的位數爲64位,取值範圍:-2**63~2**63-1

(2)long(長整型)-----python3中不轉換爲長整型

(3)flote(浮點型)-----小數

(4)布爾值

    真或假   1或0

(5)字符串

    "hello world"

字符串的格式化輸出(字符串:%s,整數:%d,浮點數:%f):

name = 'qpzm'

print("I am %s") % name

#I am qpzm

同時可以使用+進行拼接,不是很建議,影響效率。

4.列表

a = ['jack', 'lily', 'lucy']

for index.i in enumerate(a):  # 枚舉函數

    print(index.i)

# 結果:

(0. 'jack')

(1. 'lily')

(2. 'lucy')

 

[元素] 可存儲------ [字符串,數字,變量]

[0,1,…………-1]

[1:9]----切片時,顧頭不顧尾,即包含左邊,不包含右邊。

[-5:]-----這時包含了最後一個

插入元素,增長元素,刪除元素:

name = ['Alex', 'jack', 'Rain', 'Eric', 'rose', 'lily']
name.insert(-1, 'lilei') # 插入變量
name.insert(4, 'lucy')
print(name)

name2 = name[2:7] # 切片
print(name2)

name.remove('lily') # 只能remove一個
print(name)

del name[4:6] # 刪除內存中的列表,變量,可刪除多個變量
print(name)

name[4] = 'rose(zuzhang)' # 修改備註
print(name)

print(name[0::2]) #每隔一個,打印一個

針對列表的一些方法:

name.index()  # 索引第一個返回

name.append()  # 末尾增長

name.count(X)  # X的個數

name.clear()  # 清空此列表

name.extend()  # 擴展進來一個新的列表

name.reverse()  # 反轉列表

name.sort()  # 排序,適用於python2中

name.pop() # 默認刪除最後一個,可指定刪除某一個,如name.pop(3) 利用索引刪除name3 = name.copy() # 同copy.copy()

 

總結:

賦值--->第一層,第二層都會跟着改變 .copy--->外一層,嵌套值改變的前提下--嵌套那一層改變 .deepcopy--->外一層,嵌套值改變的前提下--全部都不變

5. 元組---不可變列表  tuple

只讀,生成後不可改

6.字符串

(1)移除空白

username.strip.()

(2)分割

name.split.()  # 利用括號裏面的,拆分爲列表

'|'.join()  # 再組合

name.capitalize()  # 首字母大寫

(3)賦值變量

msg = "hahah{0}, ddd{1}, ttt{2}"

print(msg.format('a', 3, 5))

name = 'qpzm'

print(name.center(40, '-'))  # 打印48個-,name位於中間

(4)查找

name.find()  # 返回索引

name.isalnum()  # 是否包含特殊字符
name.endswith() # 判斷是以什麼結尾
name.startswith() # 判斷以什麼開始
name.upper().lower()  # 改大小寫

age.isdigit() #判斷是否爲數字

7. 數據運算

(1)成員運算:

in--->若是再指定序列中找到值返True,不然返回False

not in

(2)身份運算:

is--->is是判斷兩個標識符是否是引用自一個對象

 

is not

(3)位運算

&---按位與運算符

|---按位或運算符

計算機總能表示的最小單位,是一個二進制位

計算機總能存儲的最小單位,是一個二進制位(bit)

8bit = byte(字節)

1024 byte = 1Kbyte

異或運算:相同爲0,不一樣爲1

8. while循環

count = 0
while True:
count +=1
if count > 50 and count < 60:
continue
print("hahaha", count)
if count == 100:
print("hehehe")
break

9. 字典--無序,無下標

id_db[230221199309080097]['name'] = 'zm' # 修改
id_db[230221199309080097]['qq'] = 3232244 # 添加
del id_db[230221199309080097]['add'] # 刪除
id_db.get(230221199309080097) # 獲取
dic2 = {

}
id_db.update(dic2) # 覆蓋
id_db.items() # 字典變列表 通常不用!
id_db.values() # 打印字典中的全部值
id_db.keys() # 打印字典中的全部key,返回列表
id_db.has_key() #python2 的用法
XXXXX in id_db # 在裏面存在
id_db.setdefault(23232332) # 存在就返回值,不存在返回none,並在最後生成23232332:none
#也可:
id_db.setdefault(23232332,'hahah') #取key,不存在則添加
id_db.fromkeys([1, 2, 3, 4], 'ddd') # 列表裏的值添加---新的字典,只是調用字典的方法,和所使用字典無關------不建議使用
# 循環字典
for key in id_db:  # 推薦使用!!!      print(key,id_db[key])
相關文章
相關標籤/搜索