1. 程式人生 > >python(課堂筆記2)

python(課堂筆記2)

find side 存在 else reverse 輸出 nbsp with 運算

  • 模塊初識
  • 數據類型
  • 三元運算
  • bytes類型
  • 淺拷貝和深拷貝和賦值的區別

模塊也可以叫庫。分為標準庫和第三方庫。區別在於標準庫不需要安裝,可以直接導入的內置模塊。

第三方庫則是需要安裝的庫。

  

import sys


sys.argv #打印環境變量(相對路徑)


import os

os.system(dir)  #執行命令,不執行結果 
a = os.popen(dir).read() #用read()方法調取它的結果,結果存在內存中。
print(a)

os.mkdir(new dir) #創建目錄

驅動器 C 中的卷沒有標簽。
卷的序列號是 A649-EE2A

C:\Users\Administrator\PycharmProjects\day01\day02 的目錄

2019/02/26 22:16 <DIR> .
2019/02/26 22:16 <DIR> ..
2019/02/25 19:39 165 encode to decode.py
2019/02/26 11:11 <DIR> fp
2019/02/26 16:58 1,122 list.py
2019/02/26 20:26 1,329 shopping.py

2019/02/26 21:47 21 str1.py
2019/02/26 22:16 263 模塊初始.py
2019/02/26 16:57 644 淺拷貝.py
2019/02/22 21:11 551 爬蟲.py
7 個文件 4,095 字節
3 個目錄 8,209,002,496 可用字節

  • 動態數據類型

Number

int(整型),註:在python2.x中有份整型和長整型long。

float 浮點數,帶有小數點的浮點數。

布爾型

0和1 True or False

字符串

由有單引號或雙引號括起來的。
s = sleiman is very handsome
s1 = sleiman\n
print(s.capitalize()) #首字母大寫 Sleiman is very handsome
print(s.title()) #首席母大寫 Sleiman Is Very Handsome
print(s.count(e)) #出現的次數 3
print(s.center(50,-)) #-------------sleiman is very handsome-------------
print((sleiman).endswith(an))#以an結尾的
print(s1.startswith(sl)) #以sl開頭
print((格式化輸出:%s% s).format())
print(s.find(s))#索引值
print(s.isdigit()) #是否為整數
print((t1).isalnum()) #是否為字母或數字
print(s.isalpha()) #是否為字母
print(s.isdecimal())#是否為數字
print(s.isidentifier())#判斷是否為合法是標識符
print(s.islower())#是否為小寫
print(s.isupper())# 是否為大寫
print(s.lower())#小寫
print(s.upper())#大寫
s2 =   str    
print(s2.strip()) #去掉兩邊的空格\t\n空格
# 字符串拼接
print(+.join([1,2,3]))
print(s2.replace(r,l,1)) #參數一:被替換的參數  參數二:替換的參數,三:替換的次數
print(s.split( )) #按空格分割,逗號
s3 = \nstr
print(s3.splitlines()) #按行分割
  • 列表
# 列表的增刪改查
names = [tom, candy, jerry ,hurry, alan]

# 切片
# print(names[:2])
# print(names[-3:])
print(names[: :2]) #[‘tom‘, ‘jerry‘, ‘alan‘]

#
names.append(1)
print(names)


#指定插入
names.insert(1,1)  #[‘tom‘, ‘candy‘, ‘jerry‘, ‘hurry‘, ‘alan‘, 1]
names.insert(3,3)  #[‘tom‘, ‘1‘, ‘candy‘, ‘3‘, ‘jerry‘, ‘hurry‘, ‘alan‘, 1]
print(names)

#增加

names.extend([1,2,3])  #合並 [‘tom‘, ‘1‘, ‘candy‘, ‘3‘, ‘jerry‘, ‘hurry‘, ‘alan‘, 1, 2, 3]
#
# names.remove(‘1‘) [‘tom‘,‘candy‘, ‘3‘, ‘jerry‘, ‘hurry‘, ‘alan‘, 1]
# del names[3] [‘tom‘, ‘1‘, ‘candy‘, ‘jerry‘, ‘hurry‘, ‘alan‘, 1]
names.pop()  #默認從最後一個開始刪除,指定下標誌刪除
# [‘tom‘, ‘1‘, ‘candy‘, ‘3‘, ‘jerry‘, ‘hurry‘, ‘alan‘]
# names.clear()  #清空列表 []
print(names)

#
names[0] = gary #[‘gary‘, ‘1‘, ‘candy‘, ‘3‘, ‘jerry‘, ‘hurry‘, ‘alan‘]

print(names)


#
print(names.index(1)) #1
print(names.count(1)) #2次
# names.reverse()
print(names)  #反轉
list1 = [1,2,3,4,5,6]
list1.sort(reverse=True) #降序 默認升序
print(list1)
  • 元組

元組由小括號括起來的。一旦初始化,就不能更改。

註;後面的數據類型下次會更新上來。

#切片
names = (alan,jack)
print(names[:1])

#查詢
print((1,2,3,4,1,1).count(1)) #3

註:後面的數據類型下次更新上來。

  • 三元運算
# result = 值1 if 條件 else 值2
# 條件為真則result為值1
# 條件為假則result為值2
a = 1
b = 2
result1 = a if a>b else b #2
print(result1) 
  • 淺拷貝、深拷貝、賦值區別

賦值拷貝:list1與list2分別指向 list1的值,list1重新賦值後指針發生改變,list2指針不變。

淺拷貝:list1調用copy()方法後與上面的賦值拷貝原理一樣,區別在於在二維列表中,list1和list2都指向了list[0] = ‘zero‘這個值,並沒有復制它。

深拷貝:list1復制了二維列表中的值,而list2不變。

#復制拷貝
list1 = [1,2,[3,4]]
list2 = list1
print(list1) #[1, 2, [3, 4]]
print(list2) #[1, 2, [3, 4]]
list1 = [‘zero‘,2,[3,4]]
print(list1) #[‘zero‘, 2, [3, 4]]
print(list2) #[1, 2, [3, 4]]


# 淺拷貝
list1 = [1,2,[3,4]]
list2 = list1.copy()
print(list1) #[1, 2, [3, 4]]
print(list2) #[1, 2, [3, 4]]
list1[0] = zero
print(list1) #[‘zero‘, 2, [3, 4]]
print(list2)  #[1, 2, [3, 4]]
list1[2][0] = three
print(list1) # [‘zero‘, 2, [‘three‘, 4]]
print(list2)# #[1, 2, [‘three‘, 4]]


#深拷貝
import copy
list1 = [1,2,[3,4]]
list2 = copy.deepcopy(list1)
print(list1) #[1, 2, [3, 4]]
print(list2) #[1, 2, [3, 4]]
list1[0] = zero
print(list1) #[‘zero‘, 2, [3, 4]]
print(list2)  #[1, 2, [3, 4]]
list1[2][0] = three
print(list1) #[‘zero‘, 2, [‘three‘, 4]]
print(list2) # [1, 2, [3, 4]]
  • bytes
#字符串轉二進制
print(中國.encode(utf-8)) #編碼 b‘\xe4\xb8\xad\xe5\x9b\xbd‘

#相反  解碼
print(b\xe4\xb8\xad\xe5\x9b\xbd.decode(utf-8)) #中國

python(課堂筆記2)