python資料型別 數字,布林值,字串

2021-08-09 22:53:08 字數 4246 閱讀 6391

數字:

int整型

long長整型:無限大小的整數,整數最後一位是大寫的或小寫的l

在py3中整數如果過長溢位會自動轉換為long型

浮點型:(floating point real values) - 浮點型由整數部分與小數部分組成,

浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)

複數(complex numbers): - 複數由實數部分和虛數部分構成,

可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

方法:.bit_length() 表示十進位制數轉換為二進位制數時最少使用的位數。

n = 1

n1 = 3

n2 = 5

n3 = 8

print(n.bit_length())

print(n1.bit_length())

print(n2.bit_length())

print(n3.bit_length())

布林值:

字串和布林值的轉換

str—>bool:非空字串轉換為布林值為true,空字串為false

s = bool(」)

s1 = bool(『sdsdsdds』)

print(s, s1)

bool—> str

直接將bool值數字串化

ps:print(str(1 < 2)) 返回值是字串:』false』

說明會先進行運算。

布林值和數字之間的轉換

bool—->int

int(true) -> 1

int(bool) -> 0

int—->bool

bool(0) -> false

bool(1) -> true

bool(-1)-> true

bool(1.2) -> true

空列表,空元祖,空字典 -> false

應用:做邏輯判斷

字串:

索引:s[i] 起始為0,顧頭不顧尾 i > 0 從左至右;i < 0 從右至左

切片:s[start:end:步長] 步長 > 0 從左至右切;步長 < 0 :從右至左切。

如果沒有規定步長,預設從左至右 print(s[::-1]) #逆序字串

常用方法;終於明白()裡是寫的是方法的引數,另外學會看原始碼

*.capitalize() 將首字母大寫剩餘的小寫

.swapcase() 大小寫翻轉

*.upper()

.lower()

.title() 每個單詞的首字母大寫,中間需用特殊字元(例如空格)隔開

*.center()----> .center(width, fillchar) fillchar填充字元得是字串的格式

返回乙個指定寬度 width 居中的字串,如果 width 小於字串寬度直接返回字串,否則使用 fillchar 去填充。

***.count()--->.count(子字串,start引數,end引數)

計算子字串在字串中出現的次數.

***.find()

檢測字串是否包含子字串,包含,返回匹配的*第乙個子字串*的*索引值*,不包含返回-1

----> .find(substring, start引數 ,end引數)

***.index()和.find()

方法一樣,不過如果string不包含substring,丟擲異常 「substring not found」

*.endswith() 檢測字串中是否以指定字尾結尾

----> .endswith(指定字尾,start引數,end引數)

str='runoob example....wow!!!'

print (str.endswith(suffix,20))

.startswith() 檢測字串中是否以指定內容開頭

----> .endswith(指定開頭,start引數,end引數) #引數實際是切片,注意位數

.expandtabs() 將字串中的tab符號(\t)補全成空格

將tab符號前面的字串位數補全為8,超8的話補全為16,依次類推

----> .expandtabs(tabsize) tabsize 是空格數

**is系列

isalnum()檢測字串是否由數字或字母組成

isalpha()檢測字串是否由字母組成

isdigit()檢測字串是否由數字組成

可作判斷條件

****replace()替換字串中的子字串

---->.replace(old ,new , max) *max最大替換次數

*****.split()

以指定子字串分割字串,返回不含有指 定子字串的*列表*,預設按空格分割。

----> .split(sub, num) *num是分割次數。

.rsplit() 從右往左。

a = 'i can do it. yes, i can '

print(a.split()) # 不設定引數,預設是按空格分割

print(a.split('a'))

print(a.split('i')) #### 以開頭物件分割返回空字串

*****.join()

-->s.join(iterable)

以指定字元s連線乙個可迭代物件,其元素必須

是字串

可以將列表轉換為*字串*

同樣也可以將元組轉換為字串

連線字典時連線的是鍵值

l = ['s', 'a', 'hello', 'world']

print('_'.join(l))

print('*'.join(l))

print(''.join(l), type(''.join(l)))

*****.strip()消除字串*前後*空格 ()

函式引數預設是空格,除此還可以設定引數

lstrip()消除字串前面(左面)空格

rstrip()消除字串後面(右面)空格

*****.format()

根據不同的需求進行操作

print('name:{}, age:{} ,length:{}'.format('muyi', 11, 180))

print('name:, age: ,length:'.format('muyi', 11, 180))

print('name:, age:,length:'.format(姓名='muyi', 年齡=18, 身高=180))

for迴圈是有限迴圈

例題:

實現乙個整數加法計算器:

如:content = input(『請輸入內容:』) #

如使用者輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

sum  = 0

l = content.split('+')

for i in l:

sum = sum + int(i)

print(sum)

content = input('請輸入表示式:')

index = content.find('+')

sum = int(content[0:index]) + int(content[index+1:]) #空格問題,int()函式可以自動去空格

print(sum)

計算使用者輸入的內容中有幾個整數。

如:content = input(『請輸入內容:』) # 如fhdal234slfh98769fjdla

content = input(『請輸入表示式:』)

sum = 0

#兩種角度

content = input('請輸入:')

count = 0

for i in content:

if i.isdigit():

count += 1

print(count)

s = input('請輸入:')

count = 0

while s:

s = s.lstrip('abcdefghijklmnopqrstuvwxyz')

s = s.lstrip('0123456789')

count += 1

print(count)

資料型別之布林值(bool boolen)

只有兩個值 true false 轉換數字轉布林 0是false,其他都是true 字串轉布林 是false,其他都是true 列表轉布林 是false,其他都是true 元組轉布林 是false,其他都是true 其他型別字元轉換為布林型別 示例 val1 bool 0 val2 bool val...

布林值和Boolean型別

今天在複習js基本資料型別的時候發現了乙個以前忽略的知識點,那就是boolean型別和布林值的區別。首先,要明確一下,boolean型別是與布林值對應的引用類。舉例來看,var object new boolean false var value true alert object value 可能...

python筆記4 布林值

布林值 空值 布林值只有兩種 true還有false,分別代表真與假 true false的首字母大寫,其他小寫,這是固定寫法 布林值長這樣 true false大多數時候,布林值並不會直接出現在 中 更多時候以這三種形式活躍在你的 裡 1 第一種情況 兩個數值在互相比較時 2 第二種使用情況 數值...