2-16 階段考核
阿新 • • 發佈:2018-02-02
png bubuko 第一個 n) 字符串 tee 可變集合 ood 圖片
1,口述問題
- 學會看英文文檔,源碼目前不涉及
- 好的程序員,不能只懂一門語言,
- C語言,底層,推薦書目
- 變量命名規則和團隊保持一致
- 編碼格式(比較模糊)
2.不會的問題
編碼格式: python2解釋器是ASCII python3解釋器是UTF-8 python2中 bytes = str Unicode是獨立的類型 python3 str是unicode編碼 所有的unicode字符編碼後都是bytes格式
3.考題
# -*- coding:utf-8 -*- # s = "www.luffycity.com" # print(s.split(‘.‘)) # 2. 切割字符串"luffycity"為"luffy","city" # s1 = "luffycity" # s1_1 = s1[0:5] # s1_2 = s1[5:] # print(s1_1,s1_2) # 5. 有如下字符串:n = "路飛學城" # - 將字符串轉換成utf-8的字節,再將轉換的字節重新轉換為utf-8的字符串 # - 字符串轉換成gbk的字節,再將轉換的字節重新轉換為utf-8的字符串 # n= "路飛學城" # # # print(n,type(n)) # print(n.encode(‘utf-8‘)) # print(n.encode(‘utf-8‘).decode(‘utf-8‘)) # print(n.encode(‘gbk‘)) # print(n.encode(‘gbk‘).decode(‘utf-8‘)) # 列表[‘alex‘,‘egon‘,‘yuan‘,‘wusir‘,‘666‘] # - 1.把666替換成999 # - 2.獲取yuan索引 # li = [‘alex‘,‘egon‘,‘yuan‘,‘wusir‘,‘666‘] # # li[-1] = ‘999‘ # li.index(‘yuan‘) # li[-3:] # 2. 將列表[‘alex‘, ‘steven‘, ‘egon‘] 中的每一個元素使用 ‘\_’ 連接為一個字符串 # li = [‘alex‘, ‘steven‘, ‘egon‘] # # print(‘\_‘.join(li)) # 4. 對列表進行增刪改查。 # - [‘alex‘,‘egon‘,‘wusir‘,‘wen‘,‘jing‘] # li = [‘alex‘,‘egon‘,‘wusir‘,‘wen‘,‘jing‘] # li.remove(li[2]) # li.insert(2,‘json‘) # print(li) # 對字典進行增刪改查 # dic = {"Development":"開發小哥","OP":"運維小哥","Operate":"運營小仙女","UI":"UI小仙女"} # del dic[‘Development‘] # dic[‘Development‘] = ‘開發小哥‘ # 3. 編寫一個python程序,輸入兩個數,比較它們的大小並輸出其中較大者。 a = input("輸入數字a:") b = input("輸入數字b:") if a.isdigit() and b.isdigit(): if int(a) > int(b): print(a) else: print(b) else: print("請重新輸入")
4.frozenset:不可變集合
set()和 frozenset()工廠函數分別用來生成可變和不可變的集合。如果不提供任何參數,默認
會生成空集合。如果提供一個參數,則該參數必須是可叠代的,即,一個序列,或叠代器,或支持
叠代的一個對象,例如:一個列表或一個字典。
>>> s=set(‘cheeseshop‘) 使用工廠方法創建 >>> s {‘h‘, ‘c‘, ‘o‘, ‘s‘, ‘e‘, ‘p‘} >>> type(s) <type ‘set‘> >>> s={‘chessseshop‘,‘bookshop‘}直接創建,類似於list的[]和dict的{},不同於dict的是其中的值,set會將其中的元素轉換為元組 >>> s {‘bookshop‘, ‘chessseshop‘} >>> type(s) <type ‘set‘> 不可變集合創建: >>> t=frozenset(‘bookshop‘) >>> t frozenset({‘h‘, ‘o‘, ‘s‘, ‘b‘, ‘p‘, ‘k‘})
1 >>> s.add(‘z‘) #添加 2 >>> s 3 set([‘c‘, ‘e‘, ‘h‘, ‘o‘, ‘p‘, ‘s‘, ‘z‘]) 4 >>> s.update(‘pypi‘) #添加 5 >>> s 6 set([‘c‘, ‘e‘, ‘i‘, ‘h‘, ‘o‘, ‘p‘, ‘s‘, ‘y‘, ‘z‘]) 7 >>> s.remove(‘z‘) #刪除 8 >>> s 9 set([‘c‘, ‘e‘, ‘i‘, ‘h‘, ‘o‘, ‘p‘, ‘s‘, ‘y‘]) 10 >>> s -= set(‘pypi‘)#刪除 11 >>> s 12 set([‘c‘, ‘e‘, ‘h‘, ‘o‘, ‘s‘]) 13 >>> del s #刪除集合
只有可變集合能被修改。試圖修改不可變集合會引發異常。 1 >>> t.add(‘z‘) 2 Traceback (most recent call last): 3 File "<stdin>", line 1, in ? 4 AttributeError: ‘frozenset‘ object has no attribute ‘add‘
5.函數:string.join()
Python中有join()和os.path.join()兩個函數,具體作用如下:
join(): 連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串
os.path.join(): 將多個路徑組合後返回
1、join()函數 語法: ‘sep‘.join(seq) 參數說明 sep:分隔符。可以為空 seq:要連接的元素序列、字符串、元組、字典 上面的語法即:以sep作為分隔符,將seq所有的元素合並成一個新的字符串 返回值:返回一個以分隔符sep連接各個元素後生成的字符串 2、os.path.join()函數 語法: os.path.join(path1[,path2[,......]]) 返回值:將多個路徑組合後返回 註:第一個絕對路徑之前的參數將被忽略
#對序列進行操作(分別使用‘ ‘與‘:‘作為分隔符) >>> seq1 = [‘hello‘,‘good‘,‘boy‘,‘doiido‘] >>> print ‘ ‘.join(seq1) hello good boy doiido >>> print ‘:‘.join(seq1) hello:good:boy:doiido #對字符串進行操作 >>> seq2 = "hello good boy doiido" >>> print ‘:‘.join(seq2) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #對元組進行操作 >>> seq3 = (‘hello‘,‘good‘,‘boy‘,‘doiido‘) >>> print ‘:‘.join(seq3) hello:good:boy:doiido #對字典進行操作 >>> seq4 = {‘hello‘:1,‘good‘:2,‘boy‘:3,‘doiido‘:4} >>> print ‘:‘.join(seq4) boy:good:doiido:hello #合並目錄 >>> import os >>> os.path.join(‘/hello/‘,‘good/boy/‘,‘doiido‘) ‘/hello/good/boy/doiido‘
---恢復內容結束---
2-16 階段考核