Python全棧工程師(字符串/序列)

ParisGabriel

Python 入門基礎

字符串:str
用來記錄文本信息
字符串的表示方式:
在非注釋中凡是用引號括起來的部分都是字符串
‘’ 單引號
“” 雙引號
''' ''' 三單引
""" """ 三雙引
有內容代表非空字符串否則是空字符串

區別:
單引號內的雙引號不算結束符
雙引號內的單引號不算結束符
三引號內的換行會自動轉換為換行符
三引號內可以包含單引號和雙引號

隱式字符串拼接:

s = "I'm a I'm a programmer" 'heoll "wored"'

轉移符:
\' 單引號
\" 雙引號
\\ 單反斜杠
\n 換行
\r 返回光標至行首
\t 水平制表符
\v 垂直制表符
\f 換頁
\b 倒退
\0 空字符,字符值為0
\xXX ,XX為兩位16進制表示的自符
\uXXXX ,XXXX為4個16進制的Unicode16字符
\UXXXXXXXX ,8個16進制表示的Unicode32字符

ASCII編碼:
man ASCII?:查看幫助文檔命令

?


常用ASCII編碼:
字符 十進制 十六進制
0 48 0x30
A 65 0x41
a 97 0x61

Unicode:
統一編碼,分為Unicode16、Unicode32

序列的概念:
字符串就是序列
函數:
len(x) 返回字符串的字符個數
raw 字符串:
讓轉義符號\無效
格式:
r‘字符串內容’
print(r“\n\\\t”)
字符串的運算:
+ 用于拼接字符串
* 用于生成重復字符串
字符串的相乘只能與整數
+=? ?*= 與其他符合運算符相同
in / not in 運算符:
用于判斷某個字符串是否在
相當于字符串出現過 如果出現過返回true 否則返回false
字符串的比較運算:
> >= < <= == !=
依次按照編碼進行比較,直到最短字符串結束為止

索引(下標):
Python的字符串是不可以改變字符序列的

?

index:
字符串[整數表達式]
Python序列都可以用索引來訪問序列中的對象
Python的序列正向索引是沖0開始的最后一個索引為len(s)-1
Python序列的反響索引是從-1開始的 -1是最后一個 第一個是 -len(s)

切片:
slice
從一個字符串序列中取出相應的元素重新組成一個字符串系列
語法:
字符串序列[(開始索引b):(結束索引e):(步長s)]
小括號括起的部分代表可省略
說明:
開始索引是切片開始切下的位置,0代表第一個元素,1代表第二個,-1代表最后一個
結束索引是切片的終止索引(但不包括終止點)
步長:
是切片每次獲取當前元素后移動的方向和偏移量
沒有步長,相當于取值完成后向右移動一個索引的位置默認1
當步長代表為正數時取正向切片 步長默認為1 開始位置為0 結束為len(s)步長代表下一次索引的取值增長值
當步長為負數時 取反向切片 默認的起始位置是最后一個元素,終止位置是第一個元素的前一個位置

Python3中常用于序列函數:
len(x)返回序列長度

max(x)返回序列最大值元素

min(x)返回序列最小止元素

字符串編碼轉換函數:
ord(c)返回一個字符的Unicode值(十進制)

chr(i)返回 i這個整數的值所對應的字符

整數轉字符串函數:
bin(i) 將整數轉換為二進制的字符串

oct(i) 將整數轉換為八進制的字符串

hex(i) 將整數轉換為十六進制的字符串

二進制轉換其他進制是非常好轉的 如圖:

100=4? ?101=5 10=2? 156=0o452 (八進制)

1100=c 1001=9? ? ? ?156=0x9c (十六進制)

字符串的構造函數:
str(obj=“”) 將對象轉換為字符串

常用的字符串方法:
文檔參見:
對象.方法名(方法傳參)
"abc".isalpha() # 語法是對的
123.isalpha() # 語法是錯的
方法 說明
S.isdigit() 判斷字符串中的字符是否全為數字
S.isalpha() 判斷字符串是否全為英文字母
S.islower() 判斷字符串所有字符是否全為小寫英文字母
S.isupper() 判斷字符串所有字符是否全為大寫英文字母
S.isspace() 判斷字符串是否全為空白字符
S.center(width[,fill]) 將原字符串居中,左右默認填充空格 width:所居中字符串的長度 fill:默認填充空格

S.count(sub[, start[,end]]) 獲取一個字符串中子串的個數 sub:所要獲取的字符串 start:起始位置 end:結束位置
S.find(sub[, start[,end]]) 獲取字符串中子串sub的索引,失敗返回-1 start:起始位置 end:結束位置

S.strip() 返回去掉左右空白字符的字符串
S.lstrip() 返回去掉左側空白字符的字符串
S.rstrip() 返回去掉右側空白字符的字符串
S.upper() 生成將英文轉換為大寫的字符串
S.lower() 生成將英文轉換為小寫的字符串
S.replace(old, new[, count]) 將原字符串的old用new代替,生成一個新的字符串 count:更換的次數
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix開頭,如果以prefix開頭返回True,否則返回False,
S.endswith(suffix[, start[, end]]) 返回S是否是以suffix結尾,如果以suffix結尾返回True,否則返回False

以下是不常用的
S.title() 生成每個英文單詞的首字母大寫字符串
S.isnumeric() 判斷字符串是否全為數字字符

練習:
1.
輸入一個字符串用s綁定
判斷輸入有幾個人空格
將原字符串的左右空格空白符去掉
打印剩余的字符個數
判斷輸入的是否是數字
如果是數字判斷這個數是否大于100

?答案:

print("Answer to question 1:", "\n")s = input("plaese input at will string:")
print("you input string blank have ", s.count(" "))
print("string surplus:", len(s.strip()))
if s.isdigit() is True:if int(s) > 100:print("input integer:", s, ">100")else:print("input integer:", s, "<100")
else:print("you input contain alpha:", s)

?

2.
輸入3行文字,讓這三行文字在一個方框內居中顯示
顯示如下:
+---------------+
|? ? ? ?hello? ? ? |
|? ? 123123? ? |
|      ?|
+---------------+
注:請不要輸入中文

答案:

print("Answer to question 2:", "\n")a = input("plaese input at will string 1:")
b = input("plaese input at will string 2:")
c = input("plaese input at will string 3:")
top = a
if top < b:top = b
if top < c:top = c
print("+" + "-" * (len(top) * 2 + 10) + "+")
print("|" + a.center(len(top) * 2 + 10) + "|")
print("|" + b.center(len(top) * 2 + 10) + "|")
print("|" + c.center(len(top) * 2 + 10) + "|")
print("+" + "-" * (len(top) * 2 + 10) + "+")

?

?

?

?

轉載于:https://www.cnblogs.com/ParisGabriel/p/9266051.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389253.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389253.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389253.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

跨庫數據表的運算

跨庫數據表的運算&#xff0c;一直都是一個說難不算太難&#xff0c;說簡單卻又不是很簡單的、總之是一個麻煩的事。大量的、散布在不同數據庫中的數據表們&#xff0c;明明感覺要把它們合并起來&#xff0c;再來個小小的計算&#xff0c;似乎也就那么回事……但真要做起來&…

FCN全卷積網絡隨筆

參考&#xff1a;四、全卷積網絡FCN詳細講解&#xff08;超級詳細哦&#xff09; 這篇文章已經寫的很好了&#xff0c;這里說兩個我考慮的點。 第一個就是&#xff1a;FCN在縮小成heat map&#xff0c;為什么要通過上采樣還原回原圖大小&#xff1f; 我覺得這個的原因是因為&a…

熊貓在線壓縮圖_回歸圖與熊貓和脾氣暴躁

熊貓在線壓縮圖數據可視化 (Data Visualization) I like the plotting facilities that come with Pandas. Yes, there are many other plotting libraries such as Seaborn, Bokeh and Plotly but for most purposes, I am very happy with the simplicity of Pandas plotting…

敏捷數據科學pdf_敏捷數據科學數據科學可以并且應該是敏捷的

敏捷數據科學pdfTL;DR;TL; DR; I have encountered a lot of resistance in the data science community against agile methodology and specifically scrum framework; 在數據科學界&#xff0c;我遇到了許多反對敏捷方法論(特別是Scrum框架)的抵制。 I don’t see it this …

oracle的連接字符串

OracleConnection oCnn new OracleConnection("Data SourceORCL_SERVER;USERM70;PASSWORDmmm;");建立個角色 建立個表空間(角色與表空間同名的) 在方案里就可以建立表,然后就哦了 10g

SiameseRPN詳解

SiameseRPN論文來源論文背景一&#xff0c;簡介二&#xff0c;研究動機三、相關工作論文理論注意&#xff1a;網絡結構&#xff1a;1.Siamese Network2.RPN3.LOSS計算4.Tracking論文的優缺點分析一、Siamese-RPN的貢獻/優點&#xff1a;二、Siamese-RPN的缺點&#xff1a;代碼流…

數據可視化 信息可視化_可視化數據操作數據可視化與紀錄片的共同點

數據可視化 信息可視化Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and kicki…

python 圖表_使用Streamlit-Python將動畫圖表添加到儀表板

python 圖表介紹 (Introduction) I have been thinking of trying out Streamlit for a while. So last weekend, I spent some time tinkering with it. If you have never heard of this tool before, it provides a very friendly way to create custom interactive Data we…

Python--day26--復習

轉載于:https://www.cnblogs.com/xudj/p/9953293.html

sockets C#

Microsoft.Net Framework為應用程序訪問Internet提供了分層的、可擴展的以及受管轄的網絡服務&#xff0c;其名字空間System.Net和System.Net.Sockets包含豐富的類可以開發多種網絡應用程序。.Net類采用的分層結構允許應用程序在不同的控制級別上訪問網絡&#xff0c;開發人員可…

667. Beautiful Arrangement II

找規律 1&#xff0c;2&#xff0c;... , n 亂序排列&#xff0c;相鄰數據的絕對差最多有n-1種 比如1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5對應于 1 5 2 4 3 class Solution { public:vector<int> constructArray(int n, int k) {vector<int> re…

SiameseRPN++分析

SiamRPN論文來源論文背景什么是目標跟蹤什么是孿生網絡結構Siamese的局限解決的問題論文分析創新點一&#xff1a;空間感知策略創新點二&#xff1a;ResNet-50深層網絡創新點三&#xff1a;多層特征融合創新點四&#xff1a;深層互相關代碼分析整體代碼簡述&#xff08;1&#…

MySQL:Innodb page clean 線程 (二) :解析

一、數據結構和入口函數 1、數據結構 ● page_cleaner_t&#xff1a;整個Innodb只有一個&#xff0c;包含整個page clean線程相關信息。其中包含了一個page_cleaner_slot_t的指針。變量名含義mutex用于保護整個page_cleaner_t結構體和page_cleaner_slot_t結構體&#xff0c;當…

Lockdown Wheelie項目

“It’s Strava for wheelies,” my lockdown project, combining hyper-local exercise with data analytics to track and guide improvement. Practising wheelies is a great way to stay positive; after all, it’s looking up, moving forward.我的鎖定項目“將Strava運…

api地理編碼_通過地理編碼API使您的數據更有意義

api地理編碼Motivation動機 In my second semester of my Master’s degree, I was working on a dataset which had all the records of the road accident in Victoria, Australia (2013-19). I was very curious to know, which national highways are the most dangerous …

js進階 12-5 jquery中表單事件如何使用

js進階 12-5 jquery中表單事件如何使用 一、總結 一句話總結&#xff1a;表單事件如何使用&#xff1a;可元素添加事件監聽&#xff0c;然后監聽元素&#xff0c;和javase里面一樣。 1、表單獲取焦點和失去焦點事件有哪兩組&#xff1f; 注意是blur/focus和focus in/out&#x…

SiamBAN論文學習

SiameseBAN論文來源論文背景主要貢獻論文分析網絡框架創新點一&#xff1a;Box Adaptive Head創新點二&#xff1a;Ground-truth創新點三&#xff1a;Anchor Free論文流程訓練部分&#xff1a;跟蹤部分論文翻譯Abstract1. Introduction2. Related Works2.1. Siamese Network Ba…

簡單入門Javascript正則表達式

我們已經會熟練使用js字符串類型了&#xff0c;例如你想知道一個變量是否等于一個字符串&#xff0c;可能可能這樣判斷 if(ahello,world){... } 復制代碼但是往往我們有時候對一些字符串判斷顯得力不從心&#xff0c;例如判斷一個文件的類型是否為js類型&#xff0c;可能有下面…

實現klib_使用klib加速數據清理和預處理

實現klibTL;DRThe klib package provides a number of very easily applicable functions with sensible default values that can be used on virtually any DataFrame to assess data quality, gain insight, perform cleaning operations and visualizations which results …

MMDetection修改代碼無效

最近在打比賽&#xff0c;使用MMDetection框架&#xff0c;但是無論是Yolo修改類別還是更改head&#xff0c;代碼運行后發現運行的是修改之前的代碼。。。也就是說修改代碼無效。。。 問題解決辦法&#xff1a; MMDetection在首次運行后會把一部分運行核心放在anaconda的環境…