1. 程式人生 > >Python API快餐教程(1)

Python API快餐教程(1)

字串處理相關API

字串是7種序列型別中的一種。
除了序列的操作函式,比如len()來求字串長度之外,Python還為字串提供豐富到可以寫個編輯器的API.

查詢類API

首先,下面的查詢API都是為了查詢位置,或者查一共有幾次這樣的操作。
如果只是想判斷一個字串是不是另一個字串的子串的話,使用序列的in運算子就可以了。
例:

str1 = "hahahahaha,heiheihei"

if 'haha' in str1:
    print('haha is a substring of '+str1)
else:
    print('haha is NOT a substring of '
+str1)

數數有多少個匹配的字串 - count函式

原型:str.count(sub[, start[, end]])
* sub:要查詢的子字串
* start:起始位置
* end:結束位置

字串的count函式可以數出來有多少次匹配,我們看個例子,有5個ha和3個hei

str1 = "hahahahaha,heiheihei"

print(str1.count('ha'))
print(str1.count('haha'))

輸出為5和2.
haha只能匹配兩次。

再加上擴充套件引數:

print(str1.count('ha',1))
print(str1.count('ha'
,0,5))

不拋異常的查詢 find和rfind

find函式的行為是,如果能找到,則返回在序列中的座標,如果找不到,則返回-1. rfind是從右向左查詢。我們來看例子:

print(str1.find('haha'))
print(str1.rfind('haha'))

輸出值為0和6.

找不到的例子:

print(str1.find('hoho'))
print(str1.rfind('hi'))

輸出值都是-1.

完整形式:
* str.find(sub[, start[, end]])
* str.rfind(sub[, start[, end]])

會拋異常的查詢:index和rindex

index和rindex的功能與find和rfind基本上一致,除了在找不到時會丟擲ValueError異常而不是返回-1.

例:

>>> str1 = "hehe"
>>> str1.index('ha')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

所以我們需要加try…except語句來處理之:

try:
    str1.index('hoho')
except ValueError:
    print('hoho cannot be found in '+str1)

從頭查詢和從尾查詢 startswith, endswith

有時候,我們希望做從頭匹配或者匹配尾部。這時候就要用到startswith函式和endswith函式。例:

print(str1.startswith('ha'))
print(str1.endswith('hei'))

這兩個返回值均為True.

如果需要更復雜的匹配,還是需要正則表示式。與Java等語言不同,Python中的正則表示式有專門的模組,字串的API不負責這個事情。

小結

  • 判斷字串是不是在別一個串中能找到:in
  • 判斷是否左匹配:startswith
  • 判斷是否右匹配:endswith
  • 數數能匹配多少次:count
  • 不拋異常的求匹配位置:find,rfind
  • 會拋異常的求匹配位置:index,rindex

相關推薦

Python API快餐教程(1)

字串處理相關API 字串是7種序列型別中的一種。 除了序列的操作函式,比如len()來求字串長度之外,Python還為字串提供豐富到可以寫個編輯器的API. 查詢類API 首先,下面的查詢API都是為了查詢位置,或者查一共有幾次這樣的操作。 如果只是想判斷一個字串是不是另一個字串的子串的話,使用

Tensorflow快餐教程(1) - 30行代碼搞定手寫識別

Python 算法 去年買了幾本講tensorflow的書,結果今年看的時候發現有些樣例代碼所用的API已經過時了。看來自己維護一個保持更新的Tensorflow的教程還是有意義的。這是寫這一系列的初心。快餐教程系列希望能夠盡可能降低門檻,少講,講透。為了讓大家在一開始就看到一個美好的場景,而不是停留

ODBC API開發教程1

第 1 章        介紹... 2 第 2 章        ODBC API訪問資料庫... 2 2.1       ODBC簡要介紹... 2 2.1.1        在沒有ODBC以前... 2 2.1.2    ODBC介紹... 3 2.1.3

PYTHON實戰完整教程1-配置VSCode開發環境

一、安裝 為降低學習門檻,保證學習目標的聚焦,我們在windows(使用WinServer2019虛擬機器)上搭建開發環境。(系列教程最後結束時,也會部署到linux上) 開啟Python官網 https://www.python.org/,找到windows對應環境的下載包。 下載後的檔名為:pyt

PYTHON 實戰完整教程1-配置VSCode開發環境

一、安裝 為降低學習門檻,保證學習目標的聚焦,我們在windows(使用WinServer2019虛擬機器)上搭建開發環境。(系列教程最後結束時,也會部署到linux上) 開啟Python官網 https://www.python.org/,找到windows對應環境的下載包。 下載後的檔名為:pyt

python教程1:Python基礎之數據類型和變量、字符串和編碼

mos 指向 character 文本編輯 字符 支持 isp michael 多個   視頻鏈接:   我是在Linux下玩python的,Linux下默認安裝python,直接打個pyhon3就好了,python大小寫敏感   我們來寫第一個簡單的pyt

【Web API系列教程1.1 — ASP.NET Web API入門

表示 return param 全部 products cap asp.net control toys 前言 HTTP不僅僅服務於web頁面。同一時候也是構建暴露服務和數據的API的強大平臺。HTTP有著簡單、靈活和無處不在的特點。你能想到的差點兒全

精典教程-1-Python 3 教程-2-Docker 教程

Python Docker 精典教程**************廖雪峰:**************Python 3 教程https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 ******

python API _ 1 (EasyDict)

ans 1.0 con AR XP clas nump import height 作用:參數調用文件一:from easydict import EasyDict as edictimport numpy as npconfig = edict()config.IMG_H

python基礎教程 1-8章總結

python基礎教程聲明:有些代碼是從大牛博客直接復制的,已經註明了鏈接。 1 安裝 future 特殊u‘c:\n‘ ascii 8位 unicode 16位 2 列表和元組 ‘‘.join(somelist),somelist必須是字符串序列pop 去除列表最後一個元素 pop(0) 去除第一個x.re

Python量化交易教程》第一部分新手入門 第1天:誰來給我講講Python

一、量化投資視訊學習課程 二、Python手把手教學 第1天:誰來給我講講Python? PS: 1.注意使用方法,這個以後都有大用 2.注意符號的使用方式 3.儘量用英文表達 4.本日學習內容以及其他注意事項: 今天學習了Python的基本頁面、操作,以及幾種主要的容器型別,天還要學習Pyt

Spark Python API函式:pyspark API(1)

文章目錄 •    1 pyspark version •    2 map •    3 flatMap •    4 mapPartitions •  

Python 教程1 配置環境

本文介紹Python3的在windows系統下的安裝及環境配置 下載 Python 官網:https://www.python.org/,Download下點選windows - python 3.x 如果需要下載其他版本,點選 windows,在出現的頁面中選擇所需版本,do

python操作txt檔案中資料教程[1]-使用python讀寫txt檔案

python操作txt檔案中資料教程[1]-使用python讀寫txt檔案 覺得有用的話,歡迎一起討論相互學習~Follow Me 原始txt檔案 程式實現後結果 程式實現 filename = './test/test.txt' contents = [] DNA_sequence

python 3.7極速入門教程1安裝:Linux(Ubuntu 18.04)及Windows上安裝Anaconda

安裝 Linux安裝 Anaconda是最受歡迎的python資料科學和機器學習平臺,用於大規模資料處理,預測分析和科學計算。Anaconda發行版附帶了1,000多個數據包,conda命令列工具和Anaconda Navigator的桌面圖形使用者介面。一般而言,使用Anaconda比直接

TensorFlow Object Detection API 教程1

TensorFlow 的物件檢測 API ( Tensorflow Object Detection API ) 是一個非常強大的工具,可以快速地使任何人(特別是那些像我一樣沒有機器學習背景的人)來構建和部署功能強大的影象識別系統。Github 上也有詳細的使用

python教程1--python簡介

本系列,適合有開發經驗的程式設計師學習(尤其是java程式設計師),由於假設你有開發基礎,所以多數情形下,簡單的東西能用程式碼的地方就很少用大篇幅的文字;學習語言重點在於多敲程式碼,看概念遠沒有多敲學的快;建議對著教程邊看邊敲。 1.python是什麼? P

例項教程:1小時學會Python

from: http://www.cnitblog.com/yunshichen/archive/2008/05/09/43527.aspx1 序言面向讀者 本文適合有經驗的程式設計師儘快進入Python2.x世界.特別地,如果你掌握Java和Javascript,不用

Liblinear機器學習庫教程詳解(基於Python API

前言 Liblinear機器學習庫主要實現SVM演算法,在處理大規模資料時速度快,但也有缺點,就是太吃記憶體,部落格 https://blog.csdn.net/roguesir/article/details/79793569 中介紹了在Mac Python

quick-cocos2d-x教程1:在window上創建第一個項目文件夾,並制作helloworld

項目 編碼 rip pla 命令模式 utf-8 cape tps quick 說明:此教程是針對cocos2dx 2.0系列的,3.0的版本號,如今還沒有公布出來。 1)首先從github.com把這個項目下載到本地。然後裝到d盤的根文件夾,並設置文件夾路徑為d:\