python基礎2

来源:https://www.cnblogs.com/lyr999736/archive/2018/04/10/8765259.html
-Advertisement-
Play Games

一、模塊初識 分類: 1) 標準庫:直接導入的不需要下載安裝,一般都存在lib下 2) 第三方庫:需要下載安裝才能使用,一般都存在site-packages下 sys: print(sys.path) >列印環境變數。 註意:python2下,這個是錯誤的,因為sys這個文件下並沒有path這個函數 ...


一、模塊初識

  分類:

    1) 標準庫:直接導入的不需要下載安裝,一般都存在lib下

    2) 第三方庫:需要下載安裝才能使用,一般都存在site-packages下

  

  sys:

    print(sys.path)---->列印環境變數。 註意:python2下,這個是錯誤的,因為sys這個文件下並沒有path這個函數。

    print(sys.argv)

    print(sys.argv[0])

  

  os :

    cmd_res = os.system("dir")  直接輸出到屏幕,cmd_res=0代表命令執行成功,不保存結果。

    

      cmd_res = os.popen("dir")

    print(cmd_res)  列印記憶體地址

    

      cmd_res = os.popen("dir").read()  通過read方法從記憶體某一個地方取出來

    print(cmd_res)

    os.mkdir("new_dir") 創建目錄

 

 


二、三目運算符
   a = b if c>d else e            
          
如果 c > d 那麼 a = b,否則 a = e。
三、字元串操作
  
 1 # Author : Lyr
 2 
 3 
 4 name = "Lyr is so clever"
 5 
 6 print(name.capitalize())      #首字母大寫
 7 
 8 print(name.count("r"))        #統計某個字母個數
 9 
10 print(name.center(50,"-"))    #一共列印五十個字元,不夠的用-補全居中
11 
12 print(name.endswith("er"))    #判斷某個字元串是否以某個字元串結尾
13 
14 print(name.find("sod"))        #查找某個字元串是否在該串中,如果存在返回某個字元串開頭的索引,如果不存在返回-1
15 
16 print(name[name.find("so"):11]) #字元串的切片
17 
18 name = "Lyr is clever {too_too}".format(too_too="too_too")
19 
20 print(name.isalnum())    #判斷是否是阿拉伯數字
21 
22 print("123".isdecimal())  #判斷是否是十進位數
23 
24 print("123".isdigit())  #判斷是否是整數
25 
26 print("d123".isidentifier())   #判斷是不是一個合法的變數名
27 
28 print("d123".islower())   #判斷首字母是不是小寫
29 
30 print("123".isnumeric())   #判斷是不是只有數字組成等同於isdigit
31 
32 print("123".isspace())   #判斷是不是空格
33 
34 print("1a23".istitle())   #判斷字元串中是否含有大寫字母
35 
36 print("A123".isprintable())   #判斷是不是可列印的   #tty file,drive file
37 
38 print("a123".isupper())      #判斷首字母是否大寫
39 
40 print(",".join(['1','2','3','4']))   #列表轉成字元串
41 
42 print(name.ljust(50,'*'))             #字元串不夠一定的長度用某個字母在右側補全
43 
44 print(name.rjust(50,'*'))             #字元串不夠一定的長度用某個字母在左側補全
45 
46 print(name.lower())          #字元串全部變為小寫
47 
48 print(name.upper())          #字元串全部變為大寫
49 
50 print("   Lyr  ".lstrip())   #去除左邊的空格
51 
52 print("   Lyr  ".rstrip())   #去除右邊的空格
53 
54 print("   Lyr  ".strip())   #去除兩邊的空格
55 
56 p = str.maketrans("abcdef","123456")   #前後長度一樣,依次對應
57 
58 print("abdefg".translate(p))   #result:12456g
59 
60 print(name.replace("r","R",1))
61 
62 print(name.rfind("y",0,11)) #從0到11找y的索引
63 
64 print(name.split("is"))   #把字元串按某個字元串分割返回列表
65 
66 print("1+2\n+3+4".splitlines())   #把字元串按換行符分割返回列表
67 
68 print("Lyr".swapcase())   #大寫變小寫
69 
70 print(name.title())   #首字母都變成大寫
71 
72 print(name.zfill())   #自動補零
字元串常用函數

 四、列表

  1)為什麼要引入列表呢?

  當我們有很多很多的員工姓名要存起來的時候,就目前學到的知識,我們要定義很多個變數去分別存每個員工的姓名,但是我們這樣會累死的,而且會被開除了哈哈哈,這時候我們的列表就派上用場了,可以把它們全部存到一個列表裡面,相當於我們c++或者java學的數組。存儲較為方便,看起來也比較美觀。

  2)列表的操作

    增加,刪除,修改,查詢,複製,切片,合併,迴圈輸出等。

  

  1 # Author : Lyr
  2 
  3 names = ["ZhangYang","GuYun","XiangPeng","XuLiangChen"]
  4 
  5 print(names)
  6 
  7 print(names[0],names[2])
  8 
  9 print(names[1:3]) #切片
 10 
 11 print(names[-1]) #切片
 12 
 13 print(names[-2:-1])
 14 
 15 print(names[-2:]) #倒數兩個
 16 
 17 print(names[0:2]) #與下一個結果相同
 18 
 19 print(names[:2])
 20 
 21 #增加兩種(insert,append)
 22 names.append("LeiHaiDong") #追加到末尾
 23 
 24 print(names)
 25 
 26 names.insert(1,"ChenZhongHua") #插入到某個位置
 27 
 28 names.insert(3,"XinZhiYu")
 29 
 30 print(names)
 31 
 32 #修改
 33 names[2] = "XieDi"
 34 
 35 print(names)
 36 
 37 #刪除操作兩種(remove,del,pop)
 38 names.remove("ChenZhongHua")
 39 
 40 print(names)
 41 
 42 del names[1]
 43 
 44 print(names)
 45 
 46 names.pop(1)
 47 
 48 print(names)
 49 
 50 #查詢某個元素的位置
 51 print(names.index("LeiHaiDong"))
 52 
 53 names.insert(1,"ZhangYang")
 54 
 55 #計數某個元素的次數
 56 print(names.count("ZhangYang"))
 57 
 58 #反轉
 59 names.reverse()
 60 
 61 print(names)
 62 
 63 #對列表進行排序(按ascii排序規則)
 64 names.sort()
 65 
 66 print(names)
 67 
 68 #合併列表
 69 names2 = [1,2,3,4]
 70 
 71 names.extend(names2)
 72 
 73 print(names)
 74 
 75 #刪除列表
 76 
 77 del names2
 78 
 79 #複製列表,只複製第一層(淺copy)
 80 
 81 
 82 names3 = names.copy() #names元素改變,names3對應位置的元素不會變
 83 
 84 print(names3)
 85 
 86 name4 = ["Lyr","LXL"]
 87 
 88 names.insert(1,name4)
 89 
 90 print(names3)
 91 
 92 names[1][1] = "ZJH"
 93 
 94 print(names3)
 95 
 96 name4[1] = "LXL"
 97 
 98 print(names)
 99 
100 import copy
101 
102 #深copy 需要導入copy模塊
103 names3 = copy.deepcopy(names)
104 
105 #列表迴圈
106 
107 for i in names:
108     print(i)
109 
110 #跳著輸出
111 
112 for i in names[0:-1:2]: #0,-1可省
113     print(i)
列表操作函數

  總結:

    增加:

      insert()

      append()

    刪除:del()

       pop()

       remove()

    修改:list[] = ""   查詢:list[index]  複製:copy()  合併:extend  反轉:reverse()  排序:sort()

 

 五、元祖

  和列表相似,但是只有計數和獲取下標,對應的是count和index。

六、字典
  
1) 粗略的定義相當於c++或者java的映射,key-value鍵值對,每個key對應一個value。  
  
2) 字典的操作:              
      增加,刪除,修改,查詢,迴圈等操作。  
 1 # Author : Lyr
 2 
 3 #字典是無序的沒有index
 4 #創建
 5 info = {
 6     'stu1101': "TengLan Wu",
 7     'stu1102': "LongZe Luola",
 8     'stu1103': "XiaoZe Maliya",
 9 }
10 
11 print(info)
12 
13 #查詢字典裡面必須存在                 (2種查詢方法)
14 print(info["stu1101"])
15 
16 print(info.get("stu1103"))
17 
18 #通過某個key修改,當key存在時,就修改,如果沒有該key就創建一條
19 info["stu1104"] = "武藤蘭"
20 
21 print(info)
22 
23 #刪除(3種)
24 del info["stu1104"]
25 
26 info.pop("stu1103")
27 
28 #隨機刪除
29 info.popitem()
30 
31 #查看某個key是否在該字典里
32 print("stu1102" in info)
33 
34 
35 b = {"stu1101":"lyr",
36      1:3,
37      2:4}
38 info.update(b)
39 
40 print(info)
41 
42 print(info.items())  #將字典換成列表的形式
43 
44 c = dict.fromkeys([6,7,8],[1,{"name":"lyr"},444])#初始化一個字典,如果有多層的話 ,你修改一個元素,顯示全部修改了
45 c[7][1]["name"] = "Jack"
46 print(c)
47 
48 #字典的迴圈
49 for i in info:
50     print(i,info[i])
字典操作函數
  總結:
    增加:當修改某個key-value時,如果該key不存在,他就會增加到字典中。dic[key] = value。
    刪除:del,pop()
    修改:dic[key] = new_value,該key必須存在。
    查詢:dic.get(key)--->value
    迴圈:for i in dic:
        print(i,dic[i])
 3)字典的常用函數:
    除了上面的一些,例如:dic.keys() 列印所有的key值。
               dic.values() 列印所有的value值。
               dic.setdefault(key,new_value) 查看這個字典裡面有沒有這個key,有就返回,沒有就創建新的。
 

如果你喜歡小編寫的東西,那就請點點贊吧!!!
    

 


  

    


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Nexus2可以通過管理界面來上傳jar包到私庫中,而最新的Nexus3卻找不到了上傳界面,只能通過以下方式來發佈到私庫。 ...
  • 在java中要想實現多線程,有兩種手段,一種是繼續Thread類,另外一種是實現Runable介面。 對於直接繼承Thread的類來說,代碼大致框架是: ? 1 2 3 4 5 6 7 8 9 10 11 class 類名 extends Thread{ 方法1; 方法2; … public voi ...
  • 上篇文章我們瞭解了怎麼配置struts.xml文件,以及前端控制器配置怎麼配置,,Action進階,Result結果配置,Struts2中的Servlet的API的訪問,以及怎麼獲得請求參數.今天我們在深入講解一下OGNL表達式,OGNL中的符號,和常用的攔截器,標簽庫 一,OGNL表達式 1.概述 ...
  • 首先,聲明下,以下知識點並非全部來自BAT的面試題。 如果覺得在本文中筆者總結的內容能對你有所幫助,可以點贊關註一下。 本文會以引出問題為主,後面有時間的話,筆者陸續會抽些重要的知識點進行詳細的剖析與解答。 基礎篇 基本功 1、面向對象的特征 2、final, finally, finalize 的 ...
  • 前言 本文將介紹在Spring MVC開發的web系統中,獲取request對象的幾種方法,並討論其線程安全性。 原創不易,如果覺得文章對你有幫助,歡迎點贊、評論。文章有疏漏之處,歡迎批評指正。 歡迎轉載,轉載請註明原文鏈接:http://www.cnblogs.com/kismetv/p/8757 ...
  • 努力添加中...... ...
  • Python種類: Cpython, 來自於C語言的原生python, 咱們學習的就是這個. Jpython, 來自於java 的python, Ironpython 來自於C#的, Pypy 來自於python的python, python語言的動態編譯器. 註意是編譯器哦, 咱學習的Cpytho ...
  • 練習 3.1: 如果f函數返回的是無限制的float64值,那麼SVG文件可能輸出無效的多邊形元素(雖然許多SVG渲染器會妥善處理這類問題)。修改程式跳過無效的多邊形。 練習 3.2: 試驗math包中其他函數的渲染圖形。你是否能輸出一個egg box、moguls或a saddle圖案? 練習 3 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...