第四篇:基本數據類型及用法(1)

字符串(str型)

-可以做加法,乘法

乘法例:

n1="alex"
n2=n1*3
print(n2)
#結果:alexalexalex

-首字母大寫: capitalize()

-所有字母變小寫: casefold()、lower()

??#casefold更牛,很多未知的對應關系也可以變小寫

-所有字母變大寫:upper()
-判斷字符串是否都是大寫,小寫:isupper(),islower()
-大小寫轉換,大寫變小寫,小寫變大寫:swapcase()
-去除字符串空白,左邊空白,右邊空白:strip(),lstrip(),rstrip()
-去除字符串左邊,右邊指定內容:lstrip("str"),rstrip("str")
? #str的內容可以分段與字符串匹配,先盡量去除多的子字符串

例:

1 test = "abclinda"
2 v = test.rstrip("3dar4lin")
3 print(v)
4 #結果:abc

-相當于設置寬度,并將內容居中: center(width,fillchar=None)
?#參數width必須給,fillchar可以不給,默認none

例:

1 test="abc"
2 v=test.center(10,'*')
3 print(v)
4 #結果:***abc****

-相當于設置寬度,并將內容左置: ljust(width,fillchar=None)

例:

1 test="abc"
2 v=test.center(10,'*')
3 print(v)
4 #結果:***abc****

-相當于設置寬度,并將內容右置: rjust(width,fillchar=None)

例:

1 test="abc"
2 v=test.rjust(10,'*')
3 print(v)
4 #結果:*******abc

-統計字符串中子串出現的次數: count(substr,start,end)
#從start開始到end之間子串substr出現的次數
-判斷從start位置開始到end位置,是否以suffix結尾:?? endswith(suffix,start,end)
-判斷從start位置開始到end位置,是否以prefix開頭:???? startswith(prefix,start,end)
-從開始往后找找到第一個子串,獲取其位置:find(substr,start,end)
-格式化,將字符串中的占位符替換為指定的值:format(args1,args2)
例1:

1 test="i am {name},age {a}"
2 print(test)
3 v=test.format(name="hm",a=25)
4 print(v)
5 #結果:i am {name},age {a}
6 #    i am hm,age 25

例2:

1 test="i am {0},age {1}"
2 print(test)
3 v=test.format("hm",25)
4 print(v)
5 #結果:i am {0},age {1}
6 #    i am hm,age 25

例3:

1 test="i am {name},age {a}"
2 print(test)
3 v=test.format_map({"name":"hm","a":25})
4 print(v)
5 #結果:i am {name},age {a}
6 #    i am hm,age 25

-判斷字符串中是否只包含字母或數字:isalnum()
-判斷字符串中是否只包含字母(包括漢字):isalpha()
-以\t為分界,num個字符為一組,不滿num個的用空格填充:expandtabs(num)

例:

test="612345\t789\t987"
v=test.expandtabs(5)
print(v,len(v))
#結果:612345    789  987 18

-判斷字符串輸入的是否是數字:isdecimal()、isdigit()、isnumeric()
例:

1 test=""
2 v1=test.isdecimal()
3 #識別十進制數字
4 v2=test.isdigit()
5 #特殊字符數字(③)也能識別
6 v3=test.isnumeric()
7 #特殊字符數字,漢字數字都能識別
8 print(v1,v2,v3)
9 #結果:False False True

-判斷字符串是否是標識符:isidentifier()
-判斷字符串是否可以被print:isprintable()
?#字符串中存在不可顯示的字符時,比如轉義符\n \t等,結果就是false
-判斷字符串是否全是空格:isspace()
-轉換成標題形式,及每個單詞首字母大寫:title()
-判斷字符串是否是標題:istitle()
-字符串test每個字符中間插入間隔符t: t.join(test)

例:

1 test="12你是豬頭bb"
2 t='_'
3 v=t.join(test)
4 print(v)
5 #結果:1_2_你_是_豬_頭_b_b

-字符串中某些字符str1替換成指定字符str2:maketrans(str1,str2) &translate()
例:

1 m=str.maketrans("我做飯1","你炒菜2")
2 v = "我不做今天飯1"
3 new_v=v.translate(m)
4 print(new_v)
5 #結果:你不炒今天菜2

-用str2替換字符串中的某些字符str1:replace(str1,str2,num)
?#num表替換次數

例:

1 test="1abcabcabc2"
2 v=test.replace("bc","AA",2)
3 print(v)
4 #結果:1aAAaAAabc2

-從左起第一個指定字符分割字符串:partition("str")
?從右起第一個指定字符分割字符串:rpartition("str")
例:

1 test="sr3abcdea1242"
2 v=test.partition("a")
3 print(v)
4 #結果:('sr3', 'a', 'bcdea1242')

-按指定字符分割字符串,分割次數可以設置,但指定字符會丟失:split('str',num)
例:

1 test="sr3abcdae4a123"
2 v=test.split("a",2)
3 print(v)
4 #結果:['sr3', 'bcd', 'e4a123']

-根據換行符\n分割字符串,參數True,False表是否保留換行符:splitline(args)
例:

1 test="sr3ab\ncdae\n4a123"
2 v=test.splitlines(True)
3 print(v)
4 #結果:['sr3ab\n', 'cdae\n', '4a123']

-獲取字符串指定位置的字符:str[num] (索引的概念)
-獲取指定索引范圍內的字符:str[num1:num2] (切片的概念)
?#num1取得到,num2取不到
?#str[0:-1]表示:-1表示右起第一位數

-獲取字符串中的字符數:len(str) #python3中一個漢字就是一個字符
-遍歷字符串中每個字符可以用for循環:
例:

 1 test="藍天白云ab12"
 2 for v in test:
 3     print(v)
 4 #結果:
 5 #
 6 #
 7 #
 8 #
 9 # a
10 # b
11 # 1
12 # 2

?

數字

-在python3里沒有范圍限制,int型
-可以加(+),減(-),乘(*),除(/),乘方(**),求余(%),取商整數部分(//)
-類型轉換
例1:字符串轉換為數字類型

1 a="123"
2 b=int(a)
3 print(type(b),b)
4 # 結果:<class 'int'> 123

例2:字符串按指定進制轉換成數字類型

1 num="a"
2 v=int(num,base=16)
3 print(v)
4 #結果:10

例3:數字轉換成字符串類型

1 a=123
2 b=str(a)
3 print(b)
4 #結果:123

-數字的長度(當前數字的二進制至少用位表示)
例:

1 age=10
2 v=age.bit_length()
3 print(v)
4 #結果:4

?

布爾值,bool型:True、Flase

字符串 "" =>Flase???? " "=>True
數字 0 =>Flase???? 其他 =>True

?

列表list

1.列表中的元素可以是字符串、數字、bool值、列表...
?a.索引可取值
?b.切片仍是列表
?c.支持for循環,while循環
?d.列表元素可以被修改,被刪除
例:del li(2)/del li[1:3]

2.類型轉換
a.字符串轉列表
例:

1 s = "wqdf"
2 new_s=list(s)
3 print(new_s)
4 #結果:['w', 'q', 'd', 'f']

b.列表轉換成字符串
-列表里既有數字又有字符串時,用for循環
例:

1 li=[12,23,"ab"]
2 s=""
3 for i in li:
4     s=s+str(i)
5 print(s)
6 #結果:1223ab

-列表中只有字符串時,直接使用字符串的joi方法
例:

1 li=["1aa2b","ab"]
2 v="".join(li)
3 print(v)
4 #結果:1aa2bab

3.在list最后追加元素:append(args)
4.清空list:clear()
5.拷貝:copy()
6.計算列表中某元素出現次數:count(args)
7.擴展原列表:extend(li)
*li是字符串會或列表或元祖等可迭代對象,li中每個元素作為新元素追加到原列表中
8.查找某元素的索引:index(args)
*最左邊優先
9.在指定索引位置插入元素:insert(location,args)

10.刪除指定索引的元素,并可以獲取到該元素:v=pop(index)
*index不指定時,默認刪除最后一個元素
11.刪除指定元素:remove(value)
12.給列表排序
-從小到大:li.sort()
-從大到小:li.sort(reverse=True)

?

元祖tuple

1.元祖的一級元素不可增刪改
2.元祖的元素可以是數字,字符串,bool值,列表
3.推薦在元祖最后一個元素后加逗號,用以與方法區分
例:tu=(12,21,"a",True,[1,"a"],)
4.索引可取值
5.切片也可取值,仍是元祖
6.可以for循環(可迭代對象)
7.類型轉換
a.字符串轉換成元祖
b.列表可轉換成元祖
c.元祖可轉換成列表
d.元祖轉換成字符串
-元祖中只包含字符串元素,可用join()方法轉換成字符串
-元素中包含字符串與數字等元素,用for循環轉換成字符串
8.獲取元素在元祖中出現的次數:count(value)
9.獲取元素在元祖中的索引位置(最左邊的優先):index(value)

?

轉載于:https://www.cnblogs.com/hm-blog/p/9879593.html

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

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

相關文章

Android Studio 錯誤集

錯誤列表與解決方案: 1.Android studio Gradle project sync failed Android studio 構建項目出錯 Error:Unable to start the daemon process: could not reserve enough space for object heap.Please assign more memory to Gradle in the projects gradle.properties file.…

需求簡報_代碼簡報:我如何通過做自己喜歡的事情來獲得頂級技術實習

需求簡報Here are three stories we published this week that are worth your time:這是我們本周發布的三個值得您關注的故事&#xff1a; How I landed a top-tier tech internship by doing something I love: 7 minute read 我如何通過做自己喜歡的事情獲得一流的技術實習…

review what i studied `date` - 2017-3-31

在11 月份內&#xff0c;每天的早上6 點到12 點中&#xff0c;每隔2 小時執行一次/usr/bin/httpd.sh 怎么實現0 6-12/2 * 11 * /usr/bin/httpd.shNginx中的ip_hash是指講一個地址的請求永久分發至后端的一臺RealServer&#xff0c;直至這臺RealServer宕機Zabbix和Nagios的工作原…

java string轉long報錯_java.lang.Integer cannot be cast to java.lang.Long解決辦法

你好我是辰兮&#xff0c;本次是項目遇到的java.lang.Integer cannot be cast to java.lang.Long異常以及相對應的解決方案。文章目錄一、實戰問題用postman測試數據報錯&#xff0c;類型轉換異常&#xff01;如何將Integer類型轉換成長整形 &#xff1f;先轉成String型&#x…

pyqt 界面關閉信號_木辛老師的編程課堂之Python和Qt實戰慕課軟件開發:增加關閉按鈕...

軟件實戰開始&#xff0c;快速提供編程能力&#xff1b;通過實戰&#xff0c;分析產品需求&#xff0c;梳理設計需求&#xff0c;提升項目分析和架構的能力。快點跟著木辛老師一起學習吧&#xff01;請點擊右上角“關注”按鈕關注我們喲&#xff1a;跟著木辛老師學習Python編程…

從零開始nodejs系列文章

http://blog.fens.me/series-nodejs/轉載于:https://www.cnblogs.com/chinafbi/p/5394482.html

Leetcode589.N-ary Tree Preorder TraversalN叉樹的前序遍歷

給定一個 N 叉樹&#xff0c;返回其節點值的前序遍歷。 class Node { public:int val;vector<Node*> children;Node() {}Node(int _val, vector<Node*> _children) {val _val;children _children;} };//遞歸 class Solution { public:vector<int> res;vect…

打破雙親委派么,怎么打破_質量保證被打破。 這就是我們如何使其像其他所有東西一樣敏捷。...

打破雙親委派么,怎么打破by Derwin由Derwin 質量保證被打破。 這就是我們如何使其像其他所有東西一樣敏捷。 (Quality Assurance is broken. Here’s how we can make it as agile as everything else.) Process is the key to great software.過程是出色軟件的關鍵。 In gen…

android java.lang.linkageerror_使用eclipse中的maven構建web應用出現 java.lang.LinkageError異常...

????: Servlet.service() for servlet [jsp] in context with path [/webdemo] threw exception [java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different typ…

android 鍵盤遮蓋輸入框_Android軟鍵盤擋住輸入框的終極解決方案

前言開發做得久了&#xff0c;總免不了會遇到各種坑。而在Android開發的路上&#xff0c;『軟鍵盤擋住了輸入框』這個坑&#xff0c;可謂是一個曠日持久的巨坑——來來來&#xff0c;我們慢慢看。入門篇最基本的情況&#xff0c;如圖所示&#xff1a;在頁面底部有一個EditText&…

最全面的幾何畫板實用教程視頻免費下載

不同的選擇就會有不同的人生夜&#xff0c;這里小編為奮斗在教學一線的老師們送個大福利&#xff0c;這也是老師們充實自己的好去處。作為數學老師一枚&#xff0c;在平時的教學中應該用到很多教學輔助軟件&#xff0c;而幾何畫板就是其中一款。眾所周知&#xff0c;幾何畫板是…

Redis(1):簡介

2019獨角獸企業重金招聘Python工程師標準>>> Redis之父Salvatore Sanfilippo于2009年將Redis開源。VMware公司從2010年開始贊助Redis的開發&#xff0c;Salvatore Sanfilippo和Pieter Noordhuis(另一名主要的代碼貢獻者)同年加入VMware&#xff0c;全職開發Redis。R…

小程序服務器域名5次_為什么您不應該在100美元的服務器上用5天的時間構建面向500,000個用戶的應用程序...

小程序服務器域名5次by Howard Lo霍華德羅 為什么您不應該在100美元的服務器上用5天的時間構建面向500,000個用戶的應用程序 (Why you shouldn’t build an app aimed at 500,000 users in 5 days on a $100 server) A few days ago, I read Erik Duindam’s “How I built an…

tp5 異步處理_tp5框架ajax異步添加數據的代碼實現

本篇文章給大家帶來的內容是關于tp5框架ajax異步添加數據的代碼實現&#xff0c;有一定的參考價值&#xff0c;有需要的朋友可以參考一下&#xff0c;希望對你有所幫助。ajax異步無刷新處理數據的用戶體驗還是不錯的&#xff0c;在我們的項目開發中算是經常使用到的一個知識點。…

java中類型轉換的造型_Java總結篇系列:類型轉換/造型

Java中&#xff0c;經常可以遇到類型轉換的場景&#xff0c;從變量的定義到復制、數值變量的計算到方法的參數傳遞、基類與派生類間的造型等&#xff0c;隨處可見類型轉換的身影。Java中的類型轉換在Java編碼中具有重要的作用。首先&#xff0c;來了解下數據類型的基本理解&…

Google Maps API V3 之 路線服務

Google官方教程&#xff1a; Google 地圖 API V3 使用入門 Google 地圖 API V3 針對移動設備進行開發 Google 地圖 API V3 之事件 Google 地圖 API V3 之控件 Google 地圖 API V3 之 疊加層 Google Maps API V3 之繪圖庫 信息窗口 Google Maps API V3 之 圖層 Google Maps API …

day 04 作業 循環和分之

# 讀程序&#xff0c;總結程序的功能:"""1.求2 的20次方numbers1for i in range(0,20):numbers*2print(numbers)2.求100以內能整除3 或 7的數&#xff0c;并21不能整除的數summation 0num 1while num<100: if (num%30 or num%70) and num%21!0: …

Mysql數據庫多實例配置

二進制安裝&#xff1a; [rootlufengcentos ~]# mkdir /home/lufeng/tools -p [rootlufengcentos ~]# cd /home/lufeng/tools [rootlufengcentos tools]# rz [rootlufengcentos tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz [rootlufengcentos tools]# mkdir -p /ap…

了解ES6 The Dope Way第三部分:模板文字,擴展運算符和生成器!

by Mariya Diminsky通過瑪麗亞迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way第三部分&#xff1a;模板文字&#xff0c;擴展運算符和生成器&#xff01; (Learn ES6 The Dope Way Part III: Template Literals, Spread Operators, and Generators!) Welcome to Part III of…

Jenkins --SVN

項目名稱&#xff1a;XXX 源碼管理&#xff1a; None 發布之前&#xff0c;獲取源碼 編譯獲取后的代碼&#xff0c;指定vs版本 將源碼拷貝至jenkins工作控件 d:\jenkins\workspace\.. 刪除指定文件 用管理員命令 將Jenkins工作空間的代碼發布至指定路徑轉載于:https://www.cnbl…