主頁 > 軟體設計 > python中常見的函式使用方法詳解 --持續更新(萌新向)

python中常見的函式使用方法詳解 --持續更新(萌新向)

2021-01-09 11:28:37 軟體設計

python中一些常見函式的使用方法


這是我針對那些剛剛入門開始學習python或者說對python有興趣想要了解python的小伙伴的一些幫助,回想剛剛開始學python的時候,知道它有很多方便的函式,但是不會用,還是需要一個一個摸索,于是,我整理出了這樣的一套、使用方法說明,來幫助大家更方便的學習python


總所周知,python是一門面向物件的語言,那么這里先解釋一下什么是面向物件
計算機編程語言可以大體上分為面向程序和面向物件兩種,我們可以打個比方,把寫代碼想象成吃飯,現在你肚子餓了,要想吃飯,在只有你一個人的情況下你有兩個選擇,一個是自己去買菜然后做飯最后吃飯,我們把這個叫做面向程序編程,另一個選擇就是點外賣然后吃飯,我們把這個叫做面向物件編程
聽到這里可能還是有很多人沒有弄明它們的區別,那我就說的再詳細一點,第一種做法它需要每一步都自己去完成,不管是買菜,洗菜,燒飯,炒菜以及最后的吃飯,而第二種,它不需要你去買菜,不需要你去洗菜,燒飯,而是整合為了一個步驟——點外賣,這個在我們的編程里稱為封裝函式,你沒有做的這些單純只是你沒有做,而它還是實際被做了的,只不過是外面的飯店幫你做了,然后你使用了點外賣這個操作來呼叫了這個飯,最終你還是得到了這個飯,然后最終步驟和面向程序一致,便是吃飯,
這樣大概就能理解這個python的方便之處了,沒錯,python提供了很多的這樣的"外賣“,而現在我就要叫你如何拿起手機點它們,


常見的串列函式用法

append

語法格式:L.append(n)
實作將n這個元素直接添加到L串列的末尾
沒有回傳值

extend

語法格式: L.entend(n)
實作將L與n合并,n不能為整形,不然會報錯,當n為字串時,其實作效果與append一致,但是當n為串列或者元組時,就會將n中的元素提取出來放入L中,而不是直接將帶括號的n放進去
舉例說明:

L=[1,2,3]
n=[4,5,6]
L.append(n)得到的是[1,2,3,[4,5,6]]
而L.extend(n)得到的是[1,2,3,4,5,6]

沒有回傳值

clear

語法格式: L.clear()
實作清空整個串列,L最終為空串列[]
沒有回傳值

copy

語法格式: L.copy()
實作復制一個L串列
這里很多人就會將這個copy函式簡單理解為一個賦值,其實有很大的區別
舉例說明:

n=L —賦值操作
n=L.copy() —copy操作k

第一個賦值之后你會發現n的地址仍舊是L的地址,也就是說單純只是n的指標指向了L,這個n還是那個L,當L發生改變時,n也會跟著改變
但如果是copy操作,就會提供一個新的L,直接給了n,之后原來那個L的改變就不會影響n了

回傳值就是這個L的值

count

語法格式: L.count(n)
實作統計n元素在串列L中出現的次數
回傳值就是出現的次數

index

語法格式: L.index(n)
實作了查到指定元素在串列中的位置這里的n必須是串列中的元素,沒有的話會報錯
回傳值就是這個元素所在的位置

insert

語法格式: L.insert(n,m)
實作將m這個元素插入到L的第n號位置
沒有回傳值

pop

語法格式: L.pop(n)
實作彈出串列指定位置的元素,n為串列內元素的位置
回傳值為這個對應位置的元素,并且這個元素會從串列內洗掉

remove

語法格式 : L.remove(n)
簡單粗暴,直接洗掉了L串列中的這個n元素
沒有回傳值

reverse

語法格式: L.reverse()
實作將串列反轉過來比如[1,2,3]就變成了[3,2,1]
沒有回傳值

sort

語法格式: L.sort()
實作了將串列元素進行從小到大的排序
這個就必須多說幾句了,由于python的串列啥都能裝,所以說對于sort的用法就有一定的限制,首先,申明一點,sort是可以對字串進行排序的,它不僅限于對整形的排序,比如[“c”,”b”,”a”]排完后就是[“a”,”b”,”c”],多位的字串甚至是中文就會采用從第一位開始比較,如果一樣就比第二位,不會以哪個位數多而大,比如”azzzz”和”b”比較,還是”b”大,而中文的比較也是這樣,從第一個字開始比較,同樣以ASCLL碼的順序排列,不知道哪個字大的同學可以使用ord(“輸入你要查的字”)來查找它的ASCLL碼,最后,也是最重要的一點,sort可以排序整形也可以排序字串,但當串列中既有整形又有字串時,可就不能使用sort了喲,會報錯的,




常見的函式之串列篇就到這里了,如果你看了之后認為有幫助的話,就請繼續關注我吧,下次更新常見函式之字串篇




常見的字串函式用法

由于字串的函式太多了,我會按我的理解從最常見最實用的開始往下寫

split

語法格式: str.split(“n”)
實作以"n"作為分割線,分割字串
回傳值為一個串列,串列中的元素就是被分割開的字串
值得一提的是,作為分割符的那個元素將被去除,另外,split()中也可以不跟元素,那么它就會默認以空格為分隔符

replace

語法格式: str.replace(“old”,“new”)
實作將字串內的一部分替換,第一個引數是被替換元素,第二個引數是替換元素
沒有回傳值

join

(對于初學者來說,只需要掌握join作為串列粘合就可以了)
語法格式: “n”.join(L)
它可以實作將一個串列內的所有元素以"n"為連接粘合在一起組成一個字串
其中,“n”可以寫成一個空的,則結果是直接將串列每個元素合并
回傳值就是一個粘合完成后的字串
但是這個使用有一個問題,就是必須保證串列中元素全部都是字串,不然還是會報錯

index

語法格式: str.index(“n”,number)
實作了查詢"n"這個元素在字串中第一次出現的位置,第二個引數number是指定起始位置,如果不填的話就是默認從第0號位開始
回傳值為這個元素在字串中第一次出現的位置
值得一提的是,如果字串中沒有該元素,那么系統就會報錯

find

語法格式: str.find(“n”,number)
其實作的效果與index幾乎一致,但是我更推薦使用這個find,因為當字串中不存在"n"元素時,index會報錯,而find不會,find會回傳一個-1來表示不存在這個元素

map

map函式對于初學者來說只需要學會一個用法就OK
但我還是先介紹一下這個函式
map() 函式會根據提供的函式對指定一個或多個序列做映射,
第一個引數 function 把引數序列中的每一個元素呼叫 function 函式,回傳包含每次 function 函式回傳值的新串列,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/246587.html

標籤:其他

上一篇:Shell腳本一鍵部署——原始碼編譯安裝LAMP架構!

下一篇:統一網易云音樂、QQ音樂,采用自定義注解+反射+lombok+RestTemplate+FastJson 構造云博音樂服務框架

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more