python字符串是什么_python字符串詳解

字符串詳解

在python中引號引起來的就是字符串

字符串是用來存儲少量數據

索引

索引(下標) 通過索引可以精確的定位到某個元素

name = "meat"

meat 每一個字母叫做一個元素

# 0123 從左向右代表每一個字母

#-4-3-2-1 從右向左每一個字母

print(name[-1]) 輸出 t

name = "今天是個好日子"

0 1 2 3 4 5 6

-7-6-5-4-3-2-1

a = name[0]

b = name[1]

print(a+b) **輸出今天**

切片

name = "todayisgood"

print(name[0:2]) 輸出:to

顧頭不顧尾 name[起始位置:終止位置]

print(name[:])

某個位置不指定的時候默認取最后或最前

print(name[:3]) 輸出:tod

print(name[2:5]) 輸出:day

print(name[-2:-5])

print(name[-2:-5:-1])

# **[起始位置:終止位置:步長] 步長默認為1**

name = "大黑哥吃大煎餅"

print(name[1:5])

輸出 黑哥吃大

print(name[-2:-6:-1])

輸出 煎大吃哥

print(name[-6:6])

輸出 黑哥吃大煎

a = name[0]

輸出 大

b = name[2]

輸出 哥

c = name[4]

輸出 大

d = name[6]

print(a+b+c+d)

print(name[::2])

print(name[100:105])

切片的時候起始位置和終止位置都超出的時候不會進行報錯

print(name[100])

索引的時候索引值超出范圍的時候會報錯

s = 'Python最NB'

獲取s字符串中前3個內容

s[0:3]

獲取s字符串中第3個內容

s[2]

獲取s字符串中后3個內容

s[-3:]

獲取s字符串中第3個到第8個

s[2:8]

獲取s字符串中第2個到最后一個

s[1:]

獲取s字符串中第1,3,5個內容

s[0:6:2]

獲取s字符串中第2,4,6個內容

s[1:7:2]

獲取s字符串中所有內容

s[:]

獲取s字符串中第4個到最后一個,每2個取一個

s[3::2]

獲取s字符串中倒數第5個到最開始,每3個取一個

s[-5::-3]

字符串的方法:

大小寫

s = "alex"

s1 = s.upper() #全部大寫

print(s1)

s = "ALEX"

s1 = s.lower() # 全部小寫

print(s1)

應用場景

s = input("驗證碼(AbC5)")

if s.upper() == "AbC5".upper():

print("驗證碼正確")

else:

print("驗證碼錯誤!")

以什么開頭

s = "ALEX"

s1 = s.startswith("E",2,6)

print(s1)

以什么結尾

s = "ALEX"

s1 = s.endswith("X",3,4)

print(s1)

統計

s = "alexdxjbx"

s1 = s.count("x")

print(s1)

輸出 3

脫: 字符串頭尾兩端的空格和換行符以及制表符

n = input(">>>")

if n.strip() == "alex":

print("1")

else:

print("2")

s = "alexdsba"

s1 = s.strip("a") # 可以指定內容取脫

print(s1)

分割:以空格和換行符以及制表符進行分割

s = "aelxlaaa"

s1 = s.split("l",maxsplit=1) # 可以通過指定方式進行切割

print(s1)

替換:

s = "大黑哥吃肉夾饃,肉夾饃"

s1 = s.replace("肉夾饃","大煎餅")

s1 = s.replace("肉夾饃","大煎餅",1) # 指定替換的次數

print(s1)

首字母大寫

name = "alex"

name1 = name.capitalize()

print(name1)

輸出 Alex

每個單詞首字母大寫

name = "jerry home"

print(name.title())

輸出 Jerry Home

-##### 大小寫反轉

name = "JerryHome"

print(name.swapcase())

輸出 jERRYhOME

居中---填充

name = "jerry"

print(name.center(30,"*"))

輸出 ************jerry*************

查找 從左向右 只查找一個

name = "jerry"

print(name.find("r"))

輸出 2 (代表第一個"r"的下標)

print(name.find("t"))

輸出 -1 (find 查找不存在的返回 -1)

print(name.index("t"))

index 查找不存在的就報錯

拼接

name = "jerry"

print("_".join(name)) ***重點

輸出 "j_e_r_r_y"

name = "jerry"

name1 = "*".join(name)

print(name1)

輸出 j*e*r*r*y

name = "jerry"

print("&".join(name))

輸出 :j&e&r&r&y

格式化

1.%s

2.f

3.name.format()

name = "jerry{},{},{}"

print(name.format(1,2,3)) #按照位置順序進行填充

輸出 jerry1,2,3

name = "jerry{2},{0},{1}"

print(name.format("a","b","c")) #按照索引值進行填充

輸出 jerryc,a,b

name = "jerry{a},{b},{c}"

print(name.format(a=1,c=2,b=3)) #按照關鍵字進行填充

輸出 jerry1,3,2

字符串 + * 會開辟新的空間

name = "jerry"

name1 = "home"

print(id(name))

print(id(name1))

print(id(name + name1))

輸出 2609785706008 #內存地址都不同

2609817396424

2609818262256

is 系列:

s = "12.3"

print(s.isalnum()) # 判斷是不是字母,數字,中文

print(s.isalpha()) # 判斷是不是字母,中文

print(s.isdigit()) # 判斷字符串是不是全都是阿拉伯數字

print(s.isdecimal()) # 判斷是否是十進制

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

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

相關文章

最小編輯代價

最小編輯代價問題: 對于兩個字符串A和B,我們需要進行插入、刪除和修改操作將A串變為B串,定義c0,c1,c2分別為三種操作的代價,請設計一個高效算法,求出將A串變為B串所需要的最少代價。 給定兩個字…

Android中的數據庫

2019獨角獸企業重金招聘Python工程師標準>>> 1.1. 什么時候使用數據庫 有大量相似結構的數據需要存儲的時候就可以使用數據庫。 1.2. SQLite的簡介 SQLite是一款輕量級的數據庫。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它。Androi…

python計算績效工資_python實現 --工資管理系統

原博文 2017-07-25 22:41 ? # -*- coding: utf-8 -*- __author__ hjianli # import re import os info_message """Alex 100000 Rain 80000 Egon 50000 Yuan 30000 """ #序列字典 xulie_...01669 相關推薦 2019-09-28 21:13 ? Python python…

為Windows Server 2012 R2指定授權服務器

為Windows Server 2012 R2指定授權服務器在Windows Server 2008 R2的終端服務中,可以手動指定授權服務器,而在Windows Server 2012 R2中,默認只能通過"遠程桌面連接服務"管理器,指定授權服務器,而要使用遠程…

spring5高級編程_Spring 5.X系列教程:滿足你對Spring5的一切想象-持續更新

簡介是什么讓java世界變得更好,程序員變得更友愛,禿頭率變得不是那么的高,讓程序員不必再每天996,有時間找個女朋友?是Spring。是什么讓企業級java應用變得簡單易懂,降低了java程序員的進入門檻&#xff0c…

關于resolve非泛型方法不能與類型實參一起使用

今天mvc新建三層時,寫到bll層中一直報下面的錯誤,檢查了幾遍趕腳并沒有什么錯。最后發現缺少一些引用。 如下面的圖,少添加了下面的兩個引用.Unity是微軟模式與實踐團隊開發的一個輕量級、可擴展的依賴注入容器, Microsoft.Practices.Unity.C…

設計模式-Singleton

2019獨角獸企業重金招聘Python工程師標準>>> Singleton算是知道的設計模式中最簡單的最方便實現的了,模式實現了對于類提供唯一實例的方法,在很多系統中都會用到此模式。在實際項目中使用全局變量,或者靜態函數等方式也可以達到這…

dump分析工具_Java應用CPU過高,如何排查?參考解決思路和常用工具總結

本文總結了一些常見的線上應急現象和對應排查步驟和工具。分享的主要目的是想讓對線上問題接觸少的同學有個預先認知,免得在遇到實際問題時手忙腳亂。畢竟作者自己也是從手忙腳亂時走過來的。只不過這里先提示一下。在線上應急過程中要記住,只有一個總體…

st官網下載stm32固件庫方法

進入www.st.com官網------把網站改成中文(就在右上方)----點擊產品-----選擇右側的微控制器選項------選擇左側的STM32 32位ARM CortexMCU-----選擇左側的STM32F1系列-----選擇STM32103-----選擇中間部分mcu對應型號(我用的是STM32F103ZE)---…

mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated

解決方法1&#xff1a;在php程序代碼里面設置報警級別 <?php error_reporting E_ALL & ~E_DEPRECATED 方法2&#xff1a;禁止php報錯 display_errors On 改為 display_errors Off 方法3&#xff1a;使用mysqli或者PDO 建議大家盡快取消mysql&#xff0c;全部都走…

JavaScript強化教程 —— Cocos2d-JS極速調試技巧

本文為 H5EDU 機構官方 HTML5培訓 教程&#xff0c;主要介紹&#xff1a;JavaScript強化教程 —— Cocos2d-JS極速調試技巧 本文教大家一個調試Cocos2d-JS的小技巧&#xff0c;我都是這么用的&#xff0c;特意來告訴大家這個輕量快速的調試技巧。1.首先我們需要安裝官方的cocos…

dos攻擊命令_Kali Linux系列之拒絕服務攻擊(DOS)實戰(上)

(你的世界是個什么樣的世界&#xff1f;你說&#xff0c;我們傾聽!)-----------------小百科拒絕服務攻擊即是攻擊者想辦法讓目標機器停止提供服務&#xff0c;是黑客常用的攻擊手段之一。其實對網絡帶寬進行的消耗性攻擊只是拒絕服務攻擊的一小部分&#xff0c;只要能夠對目標…

stm32定時器配置

stm32通用定時器 STM32的定時器是個強大的模塊&#xff0c;定時器使用的頻率也是很高的&#xff0c;定時器可以做一些基本的定時&#xff0c;還可以做PWM輸出或者輸入捕獲功能。 時鐘源問題&#xff1a; 名為TIMx的有八個&#xff0c;其中TIM1和TIM8掛在APB2總線上&#xff0c;…

SQL 養成一個好習慣是一筆財富

來源&#xff1a;MR_ke 鏈接&#xff1a;http://www.cnblogs.com/MR_ke/archive/2011/05/29/2062085.html 我們做軟件開發的&#xff0c;大部分人都離不開跟數據庫打交道&#xff0c;特別是erp開發的&#xff0c;跟數據庫打交道更是頻繁&#xff0c;存儲過程動不動就是上千行&a…

【JAVA】StringTokenizer 迭代方式對字符串進行分割

StringTokenizer是一個用來分隔String的應用類&#xff0c;相當于VB的split函數。1.構造函數public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringTokenizer(String str, String delim, boolean returnDelims)第一個參數就是要分…

python數組定義_python定義數組

廣告關閉 騰訊云11.11云上盛惠 &#xff0c;精選熱門產品助力上云&#xff0c;云服務器首年88元起&#xff0c;買的越多返的越多&#xff0c;最高返5000元&#xff01; 一、一維數組 1. 直接定義matrix2. 間接定義matrixprint(matrix)輸出&#xff1a;3. 數組乘法matrix*5print…

Android-語言設置流程分析

Android手機語言切換行為&#xff0c;是通過設置-語言和輸入法-語言來改變手機的語言&#xff0c;其實這個功能很少被用戶使用。 以Android5.1工程源碼為基礎,從設置app入手來分析和學習語言切換的過程:一、語言設置界面&#xff1a;首先在設置app中找到語言設置這個Preference…

charles 安裝 ssl_最全面的解決Charles手機抓包的證書問題(步驟非常詳細)

源自公眾號文章: 徹底解決Charles手機抓包的證書問題簡介: Charles 抓包是日常開發當中經常會用到的技術, 在 Android 6 之前, 手機系統既信任系統內置的證書, 也信任用戶自己安裝的證書, 但是在 Android 7 之后, 卻發生了變化, 手機系統只信任系統內置的根證書. 當然了, 這是為…

oracle報錯:ORA-00054: 資源正忙,要求指定 NOWAIT

ORA-00054: 資源正忙, 但指定以 NOWAIT 方式獲取資源&#xff1a; --首先得到被鎖對象的session_idselect session_id from v$locked_object; --通過上面得到的session_id去取得v$session的sid和serial#&#xff0c;然后對該進程進行終止。--SELECT sid, serial#, username, o…

ARM中ROM,RAM,FLASH區別

RAM&#xff08;Random Access Memory&#xff09;的全名為隨機存取記憶體&#xff0c;它相當于PC機上的移動存儲&#xff0c;用來存儲和保存數據的。它在任何時候都可以讀寫&#xff0c;RAM通常是作為操作系統或其他正在運行程序的臨時存儲介質&#xff08;可稱作系統內存&…