成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python基礎知識大全:集合用法、文件操作、字符編碼轉換、函數

開發 后端
人工智能時代,該學學python了!既然確定學習Python了,那么就要一步一步從基礎開始學習嘛~!

[[253867]]

人工智能時代,該學學python了!

既然確定學習Python了,那么就要一步一步從基礎開始學習嘛~!

下面我們來看看基礎知識

集合(Set)及其函數

集合是一個無序的、無重復元素的序列。

  1. list = {1, 3, 6, 5, 7, 9, 11, 3, 7} # 定義集合方式一 
  2. list1 = set([1, 3, 6, 5, 7, 9, 11, 3, 7]) # 定義集合方式二 
  3. list2 = set() # 定義一個空集合 
  4. print(list1, list) # 打印后可看到,集合中的元素已自動去重 
  5. print(3 in list) # 判斷一個元素是否在集合中,返回bool值 
  6. print(20 not in list1) # 判斷一個元素是否不在集合中,返回bool值 
  7. list1.add(99) # 新增元素 
  8. list1.update([10, 20, 30, 2]) # 新增多項 
  9. list1.remove(3) # 刪除一個元素,若元素不存在則報錯 
  10. print(list1.discard(8)) # 刪除一個元素,若元素不存在則不做任何操作 
  11. print(len(list1)) # 計算集合中元素的個數 
  12. print(list1.pop()) # 從集合中隨機彈出一個元素 
  13. list.clear() # 清空集合 

集合的運算

  1. list1 = set([1, 3, 6, 5, 7, 9, 11, 3, 7]) 
  2. list2 = set([2, 4, 6, 8, 3, 5]) 
  3. print(list1, list2) 
  4. # 交集 
  5. print(list1.intersection(list2)) 
  6. print(list1 & list2) 
  7. # 并集 
  8. print(list1.union(list2)) 
  9. print(list1 | list2) 
  10. # 差集 
  11. print(list1.difference(list2)) 
  12. print(list1 - list2) 
  13. # 對稱差集 
  14. print(list1.symmetric_difference(list2)) 
  15. print(list1 ^ list2) 
  16. # 是否為子集 是否為父集 
  17. list3 = set([9, 11]) 
  18. print(list3.issubset(list1)) 
  19. print(list1.issuperset(list3)) 
  20. # 若兩個集合的交集為空 返回true 
  21. list4 = set([20, 30]) 
  22. print(list1.isdisjoint(list4)) 
  23. print(list1.isdisjoint(list2)) 

文件(File)操作

在開發中經常會有讀寫文件的需求,相關的代碼實現如下:

文件的打開模式

Python基礎知識大全:集合用法、文件操作、字符編碼轉換、函數

 

文件的讀操縱、寫操作、追加操作、按行讀取文件

  1. read 直接讀文件全文 
  2. f = open('test''r', encoding='utf-8') # 文件句柄 
  3. data = f.read() 
  4. print(data) 
  5. # write 向文件中寫 
  6. f = open('test1''w', encoding='utf-8'
  7. f.write('我愛北京天安門, 
  8. 天安門上太陽升') 
  9. # append 在文件***追加內容 
  10. f = open('test1''a', encoding='utf-8'
  11. f.write('呀呼嘿'
  12. # loop 按行讀取文件 
  13. # high bigger 將文件作為迭代器 讀一行打印一行 內存中只緩存一行 
  14. f = open('test''r', encoding='utf-8'
  15. count = 0 
  16. for l in f: 
  17.  if count == 9: 
  18.  print('----------'
  19.  count += 1 
  20.  continue 
  21.  print(l.strip()) 
  22.  count += 1 
  23. # low loop 將文件內容全部讀取至內存,效率低 
  24. f = open('Sonnet''r', encoding='utf-8'
  25. for index, line in enumerate(f.readlines()): 
  26.  if index == 9: 
  27.  print('------------'
  28.  continue 
  29.  print(line.strip()) 

文件的函數

  1. f = open('test''r', encoding='utf-8') # 文件句柄 讀模式打開文件 
  2. print(f.tell()) # 獲取當前光標位置 
  3. print(f.readline()) 
  4. print(f.readline()) 
  5. print(f.tell()) 
  6. print(f.readline()) 
  7. f.seek(10) # 跳轉光標到第10個字符 
  8. print(f.readline()) 
  9. print(f.encoding) # 獲取文件編碼 
  10. print(f.fileno()) # i don't know what it is 
  11. print(f.isatty()) # 判斷文件是否是tty終端 
  12. print(f.readable()) # 判斷文件是否是可讀 
  13. print(f.writable()) # 判斷文件是否是可寫 
  14. print(f.seekable()) # 判斷文件是否是可跳轉光標 (tty不可跳轉 
  15. f.flush() # 當用寫模式打開文件時 并不是寫一句系統就會調用一次io 若需要及時刷新硬盤中的文件內容 可以調用該函數 
  16. f.close() # 關閉文件 
  17. print(f.closed) # 判斷文件是否關閉 

文件的修改

  1. # 文件的修改 直接修改文件本身比較困難 可以將修改寫入另一個文件中 如有需求可以再寫回文件本身 
  2. f = open('test''r', encoding='utf-8'
  3. f_new = open('test.bak''w', encoding='utf-8'
  4. for line in f: 
  5.  if '我曾千萬次夢見' in line: 
  6.  line = line.replace('我曾千萬次夢見''我不想千萬次夢見'
  7.  f_new.writelines(line) 
  8. f.close() 
  9. f_new.close() 

一個進度條實例 用于理解flush函數的機制 該實例可以實現進度條效果

  1. import sys 
  2. import time 
  3. f = open('Sonnet1''w', encoding='utf-8') # 文件句柄 寫模式打開文件 會新建一個文件 若同名文件存在 則直接覆蓋 
  4. for i in range(10): 
  5.  sys.stdout.write('#'
  6.  sys.stdout.flush() 
  7.  time.sleep(0.2) 

字符編碼轉換

字符編碼轉換最重要的一點就是,切記unicode是編碼之間的中轉站,若unicode不是目標編碼或者原始編碼,那么任何兩個編碼相互轉換都需要經過unicode(見下圖)。

需要注意的是,python的默認編碼是ASCII,python3的默認編碼是unicode。

在python3中encode,在轉碼的同時還會把string變成bytes類型,decode在解碼的同時還會把bytes變回string。

Python基礎知識大全:集合用法、文件操作、字符編碼轉換、函數 

函數

函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。

函數能提高應用的模塊性,和代碼的重復利用率。python提供了許多內建函數(如print());也可以自己創建函數,即用戶自定義函數。

定義一個有自己想要功能的函數,需要遵循以下規則:

  • 函數代碼塊以 def 關鍵詞開頭,后接函數標識符名稱和圓括號 ()
  • 任何傳入參數和自變量必須放在圓括號中間,圓括號之間可以用于定義參數。
  • 函數的***行語句可以選擇性地使用文檔字符串——用于存放函數說明。
  • 函數內容以冒號起始,并且縮進。
  • return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。

待補充知識:函數的參數、變量作用域、遞歸、高階函數。

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2010-07-16 11:22:31

Perl

2021-03-13 10:14:59

Python定義函數Python基礎

2010-07-23 13:16:07

Perl

2022-03-30 08:37:32

Python函數編程自定義函數

2010-03-18 15:07:13

Linux操作系統

2010-03-18 14:52:05

Linux操作系統

2010-03-18 15:16:37

Linux操作系統

2023-07-30 09:50:51

Bash字符串

2010-04-13 18:24:14

Unix操作系統

2009-08-24 17:07:09

C# 泛型

2010-03-31 13:08:20

Oracle 基礎知識

2019-07-18 16:32:06

Python函數數據

2018-02-01 14:15:00

Python函數

2024-01-07 19:54:51

2011-03-31 14:46:29

MySQL數據庫備份

2021-01-23 12:47:19

MySQL數據庫Go語言

2010-04-07 15:59:29

Unix操作系統

2010-04-13 14:00:10

Unix文件

2021-05-27 07:12:19

Python函數裝飾器

2010-01-25 11:55:41

MySQL數據庫備份數據庫安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人一区二区 | 91免费在线看 | 91亚洲国产成人久久精品网站 | 欧美国产91 | 黄色精品| 国产精品久久久久久久久久久久久久 | www国产成人免费观看视频,深夜成人网 | 久久久久久网站 | 日韩精品一区在线 | 国产精品视频97 | 日韩在线中文字幕 | 亚洲精品一区国语对白 | 亚洲成人av在线播放 | 免费成人高清在线视频 | 成人精品系列 | aⅴ色国产 欧美 | 亚洲一区二区三区四区五区中文 | 黄视频国产 | 成人福利在线观看 | 97免费视频在线观看 | 91精品国产91久久久久久最新 | 日韩在线免费 | 亚洲看片 | 波多野结衣一区二区 | 色欧美综合 | 欧美日韩精品专区 | 日韩视频在线一区二区 | 欧美一二三 | 日韩欧美成人一区二区三区 | 亚洲一级av毛片 | 国产欧美视频一区二区三区 | 欧美一级黑人aaaaaaa做受 | 久久99精品久久久久子伦 | 操久久| 成人欧美一区二区三区在线观看 | 青青久视频| 国产精品一区二区免费看 | www.玖玖玖 | 成人高清在线 | 韩三级在线观看 | 欧洲精品久久久久毛片完整版 |