1. 程式人生 > >python 2018.7.4

python 2018.7.4

遍歷字符串 while 用戶名 start print 老婆 [1] 左右 2個

1. 編碼
1. 最早的計算機編碼是ASCII. 美國人創建的. 包含了英文字母(大寫字母, 小寫字母). 數字, 標點等特殊字符!@#$%
128個碼位 2**7 在此基礎上加了一位 2**8
8位. 1個字節(byte)
2. GBK 國標碼 16位. 2個字節(雙字節字符)
3. unicode 萬國碼 32位, 4個字節
4. utf-8: 英文 8 bit 1個字節
歐洲文字 16bit 2個字節
中文 24bit 3個字節

8bit => 1 byte
1024 byte = > 1kb
1024 kb => 1mb
1024mb => 1gb
1024gb = > 1tb


2. 基本數據類型的概述
int 整數
str 字符串, 存儲少量的數據
bool 布爾
list 列表, ["大陽哥", "東陽哥", ]
tuple 元組. 只讀列表, 不能改
dict 字典; 一對一對的存儲數據. key:value {"趙陽":"大陽哥", ‘jay‘:"周傑倫"}
set 集合. 存儲不重復的內容

3. int, bool, str
int 方法操作:
bit_length() 求二進制長度
bool: 類型轉換
1. 你想轉換成什麽. 就用什麽把目標包裹起來
2. 帶空的是False, 不帶空的True
str
1. str索引和切片:
索引:起始下標是0(從左到右), (-1)從右到左
切片: s[起始位置: 結束位置: 步長]
特點:顧頭不顧尾
a = 3   # 1+1= 10 +1 = 11
print(a.bit_length()) # 二進制長度

# 字符串轉換成數字
# s = "128"
# i = int(s)
# print(type(i))
#
# ss = str(i)
# print(type(ss))
# # 綜上可以得出. 你想轉換成什麽就用什麽把目標括起來
#
# # bool類型轉換成數字 True: 1 False:0
# b = False
# c = int(b)
# print(c)

# int轉換成bool 零: False 非零: True
# a = 0
# b = bool(a)
# print(b)


# while 1: # 1的效率比true 稍微高一點點
# print("alex是個大xx")

# s = "" # "" 空字符串表示False, 非空字符串表示:True
# if s:
# print("哈哈")
# else:
# print("呵呵")

# 空的東西都是False, 非空的東西都是True

# m = None # 空 連空氣都不如. 真空, False
# if m :
# print("a")
# else:
# print("b")

# s = "我愛周傑倫他媳婦"

# print(s[0])
# print(s[1])
# print(s[2])
# print(s[3])
# print(s[4])

# print(s[-1])
# print(s[-2])
# print(s[-3])
# print(s[-4])

# 通過索引獲取到的內容. 還是一個字符串
# 切片可以對字符串進行截取
# 語法 s[起始位置: 結束位置]
# 特點:顧頭不顧腚

# s = "alex和wusir經常在一起搞基"
# s1 = s[5:10]
# print(s1)
# s2 = s[0:4] + s[5:10]
# print(s2)
# s3 = s[5:] # 默認到結尾
# print(s3)
#
# s4 = s[:10] # 從頭開始
# print(s4)
# s5 = s[:] # 從頭到尾都切出來
# print(s5)

# s6 = s[-2:] # 從-2 切到結尾 默認從左往右切
# print(s6)

# 步長
# 語法:s[起始位置: 結束位置: 步長]
# s = "我是梅西,我很慌"
# s1 = s[1:5:2] # 從1開始, 到5結束, 每2個取1個
# print(s1)

# s2 = s[::3]
# print(s2)
# s3 = s[6:2:-1] # - 表示反著來. 每兩個取1個
# print(s3)


# s = "這個標點符號很蛋疼"
# # s1 = s[7::-2]
# # print(s1)
#
# s2 = s[-1:-6:-2]
# print(s2)


2. 字符串的常用操作: 常用方法
字符串不可變.
1. upper() 轉換成大寫
2. strip() 去掉空格
3. replace() 替換
4. split() 切割
5. format() 格式化輸出
6. startswith() 判斷是否以xxx開頭
7. find() 查找. 找不到返回-1
8. len() 內置函數. 直接使用. 不用點操作 求字符串的長度
# s = "alex and wusir and taibai"
# s1 = s.capitalize() # 首字母大寫
# print(s) # 原字符串不變
# print(s1)

# s = "Alex is not a Good Man. "

# print(s.upper())
# print(s.lower())

# 在程序需要判斷不區分大小寫的時候. 肯定能用上
#
# while True:
# content = input("請噴:")
# if content.upper() == ‘Q‘:
# break
# print("你噴了:", content)

# s = "taiBai HenBai feicahngBai"
# print(s.swapcase()) # 大小寫轉換

# s = "al麻花藤ex and wu sir sir se"
# print(s.title())

# s = "麻花藤"
# print(s.center(9, "*"))

# username = input("用戶名:").strip() # 去掉空格.
# password = input("密碼:").strip() # 去掉空格
# if username == ‘alex‘ and password == ‘123‘:
# print("登錄成功")
# else:
# print("登錄失敗")

# s = "*******呵a呵呵呵****************"
# print(s.strip("*")) # strip去掉的是左右兩端的內容. 中間的不管


# s = "alex wusir alex sb taibai"
# s1 = s.replace("alex", "曉雪") # 原字符串不變
# print(s1)
# # 去掉上述字符串中的所有空格
# s2 = s.replace(" ", "")
# print(s2)


# s3 = s.replace("alex", "sb", 2)
# print(s3)
#
# s = "alex_wuse_taibai_bubai"
# lst = s.split("_taibai_") # 刀是_ 切完的東西是列表. 列表裝的是字符串
# print(lst)


# s = "我叫{}, 我今年{}歲了, 我喜歡{}".format("sylar", 18, "周傑倫的老婆")
# print(s)

# 可以指定位置
# s = "我叫{1}, 我今年{0}歲了, 我喜歡{2}".format("sylar", 18, "周傑倫的老婆")
# print(s)

# s = "我叫{name}, 我今年{age}歲了, 我喜歡{mingxing}".format(name="sylar", mingxing="汪峰的老婆", age=18)
# print(s)

# 你喜歡用哪個就用哪個


# s = "汪峰的老婆不愛汪峰"

# print(s.startswith("汪峰")) # 判斷字符串是否以xxx開頭
# print(s.endswith("愛妃")) # 判斷字符串是否以xxx結尾
# print(s.count("國際章")) # 計算xxx在字符串中出現的次數

# print(s.find("汪峰", 3)) # 計算xxx字符串在原字符串中出現的位置, 如果沒出現返回 -1
# print(s.index("國際章")) # index中的內容如果不存在. 直接報錯

# s = "abc123"
# print(s.isdigit()) # 判斷字符串是否由數字組成
# print(s.isalpha()) # 是否由字母組成
# print(s.isalnum()) # 是否由字母和數字組成

# s = "二千136萬萬"
# print(s.isnumeric()) # 數字

# s = "你今天喝酒了麽"
# i = len(s) # print() input() len() python的內置函數
# print(i)
#
# i = s.__len__() # 也可以求長度 len()函數執行的時候實際執行的就是它
# print(i)


3. 叠代
for 變量 in 可叠代對象:
循環體
else:
# 把字符串從頭到尾進行遍歷
# s = "曉雪老師.你好漂亮"
# print(len(s)) # 長度是:8 索引到7
# 1. 使用while循環來進行遍歷
# count = 0
# while count < len(s):
# print(s[count])
# count = count + 1

# 2. 用for循環來遍歷字符串
# 優勢:簡單
# 劣勢:沒有索引
# for c in s: # 把s中的每一個字符交給前面的c 循環
# print(c)

# 語法:
# for bianliang in 可叠代對象:
# 循環體


python 2018.7.4