十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
1.字符串(string)
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、和碩ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的和碩網(wǎng)站制作公司
示例: '余慶','yuqing','123','Hello!'
特點(diǎn): 用引號(hào)括起來(lái)的文本。
轉(zhuǎn)換方式: 使用str()函數(shù)轉(zhuǎn)換,str()函數(shù)能將數(shù)據(jù)轉(zhuǎn)換成其字符串類型,不管這個(gè)數(shù)據(jù)是int類型還是float類型,只要放到括號(hào)里。就能成為字符串類型。
2.整數(shù)(int)
示例:-1,0,1,2,123
特點(diǎn):不帶小數(shù)點(diǎn)和引號(hào)的普通數(shù)字。
轉(zhuǎn)換方式:使用int()函數(shù)轉(zhuǎn)換, 只有符合整數(shù)規(guī)范的字符串類數(shù)據(jù),才能被int()函數(shù)強(qiáng)制轉(zhuǎn)換。
(注:整數(shù)形式的字符串比如'6'和'1',可以被int()函數(shù)強(qiáng)制轉(zhuǎn)換。其次,文字形式,比如中文、火星文或者標(biāo)點(diǎn)符號(hào),不可以被int()函數(shù)強(qiáng)制轉(zhuǎn)換。
最后,小數(shù)形式的字符串,由于Python的語(yǔ)法規(guī)則,也不能使用int()函數(shù)強(qiáng)制轉(zhuǎn)換。)
(注:int()函數(shù)的本質(zhì)是將數(shù)據(jù)轉(zhuǎn)換為整數(shù)。對(duì)于浮點(diǎn)數(shù),int()函數(shù)會(huì)做取整處理。int()函數(shù)會(huì)直接抹零,直接輸出整數(shù)部分。)
3.浮點(diǎn)數(shù)(float)
示例:-0.33,3.1415926,1.0
特點(diǎn):帶小數(shù)點(diǎn)的數(shù)字,運(yùn)算結(jié)果會(huì)存在誤差。
轉(zhuǎn)換方式:使用float()函數(shù)轉(zhuǎn)換,float()函數(shù)也可以將整數(shù)和字符串轉(zhuǎn)換為浮點(diǎn)類型。但同時(shí),如果括號(hào)里面的數(shù)據(jù)是字符串類型,那這個(gè)數(shù)據(jù)一定得是數(shù)字形式。
1. python 字符與數(shù)字如何轉(zhuǎn)換
python中字符與數(shù)字相互轉(zhuǎn)換用chr()即可。
python中的字符數(shù)字之間的轉(zhuǎn)換函數(shù)
int(x [,base ]) 將x轉(zhuǎn)換為一個(gè)整數(shù)
long(x [,base ]) 將x轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)
float(x ) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
plex(real [,imag ]) 創(chuàng)建一個(gè)復(fù)數(shù)
str(x ) 將對(duì)象 x 轉(zhuǎn)換為字符串
repr(x ) 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str ) 用來(lái)計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象
tuple(s ) 將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s ) 將序列 s 轉(zhuǎn)換為一個(gè)列表
chr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
unichr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
ord(x ) 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串
chr(65)='A'
ord('A')=65
int('2')=2;
str(2)='2'
擴(kuò)展資料:
python數(shù)字轉(zhuǎn)換為字符串主要包括兩種形式:第一種是str(),將值轉(zhuǎn)換為用戶便于閱讀的形式;另一種是repr(),將值轉(zhuǎn)換為合法的python表達(dá)式。
print repr("Hello, world!")
'Hello, world!'
print repr(10000L)
10000L
print str("Hello, world!")
Hello, world!
print str(10000L)
2. python怎么實(shí)現(xiàn)字符串和數(shù)字的轉(zhuǎn)換
#py3
from functools import reduce
DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def char2num(s): #單個(gè)字符轉(zhuǎn)數(shù)字
return DIGITS[s]
def str2int(s):#整數(shù)字串轉(zhuǎn)化整數(shù),不支持浮點(diǎn)數(shù).浮點(diǎn)數(shù)得另寫一個(gè)
if s[0]=='-': #要判斷一下該數(shù)字有沒(méi)有符號(hào)
return -reduce(lambda x,y:10*x+y,map(char2num,s[1::])) #返回負(fù)數(shù)
else:
return reduce(lambda x,y:10*x+y,map(char2num,s)) #返回正數(shù)
a='-123'
print(100+str2int(a))
3. 關(guān)于python的字符串格式化
在python中也有類似于c中的printf()的格式輸出標(biāo)記。
在python中格式化輸出字符串使用的是%運(yùn)算符,通用的形式為格式標(biāo)記字符串 % 要輸出的值組其中,左邊部分的”格式標(biāo)記字符串“可以完全和c中的一致。右邊的'值組'如果有兩個(gè)及以上的值則需要用小括號(hào)括起來(lái),中間用短號(hào)隔開。
重點(diǎn)來(lái)看左邊的部分。左邊部分的最簡(jiǎn)單形式為:%cdoe其中的code有多種,不過(guò)由于在python中,所有東西都可以轉(zhuǎn)換成string類型,因此,如果沒(méi)有什么特殊需求完全可以全部使用'%s'來(lái)標(biāo)記。
比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])它的輸出為'1 2.3 ['one', 'two', 'three']',就是按照%左邊的標(biāo)記輸出的。雖然第一個(gè)和第二值不是string類型,一樣沒(méi)有問(wèn)題。
在這個(gè)過(guò)程中,當(dāng)電腦發(fā)現(xiàn)第一個(gè)值不是%s時(shí),會(huì)先調(diào)用整型數(shù)的函數(shù),把第一個(gè)值也就是1轉(zhuǎn)成string類型,然后再調(diào)用str()函數(shù)來(lái)輸出。前面說(shuō)過(guò)還有一個(gè)repr()函數(shù),如果要用這個(gè)函數(shù),可以用%r來(lái)標(biāo)記。
除了%s外,還有很多類似的code:整型數(shù):%d無(wú)符號(hào)整型數(shù):%u八進(jìn)制:%o十六進(jìn)制:%x %X浮點(diǎn)數(shù):%f科學(xué)記數(shù)法: %e %E根據(jù)數(shù)值的不同自動(dòng)選擇%e或%f: %g根據(jù)數(shù)值的不同自動(dòng)選擇%E或%f: %G就跟前面說(shuō)用\進(jìn)行轉(zhuǎn)義一樣,這里用%作為格式標(biāo)記的標(biāo)識(shí),也有一個(gè)%本身應(yīng)該如何輸出的問(wèn)題。如果要在”格式標(biāo)記字符串“中輸出%本身,可以用%%來(lái)表示。
上面說(shuō)的只是格式標(biāo)記的最簡(jiǎn)間的形式,來(lái)看復(fù)雜一點(diǎn)的:'%6.2f' % 1.235在這種形式中,在f的前面出現(xiàn)了一個(gè)類似小數(shù)的6.2它表示的意思是,總共輸出的長(zhǎng)度為6個(gè)字符,其中小數(shù)2位。還有更復(fù)雜的:'%06.2f' % 1.235在6的前面多了一個(gè)0,表示如果輸出的位數(shù)不足6位就用0補(bǔ)足6位。
這一行的輸出為'001.24',可以看到小數(shù)也占用一位。類似于這里0這樣的標(biāo)記還有-、+。
其中,-表示左對(duì)齊,+表示在正數(shù)前面也標(biāo)上+號(hào),默認(rèn)是不加的。最后來(lái)看最復(fù)雜的形式:'%(name)s:%(score)06.1f' %{'score':9.5, 'name':'newsim'}這種形式只用在要輸出的內(nèi)容為dictionary(一種python的數(shù)據(jù)類型)時(shí),小括號(hào)中的(name)和(score)對(duì)應(yīng)于后面的鍵值對(duì)中的鍵。
前面的例子可以看到,”格式標(biāo)記字符串“中標(biāo)記的順序和"要輸出的值組"中的值是一一對(duì)應(yīng)的,有順序,一對(duì)一,二對(duì)二。而在這種形式中,則不是,每個(gè)格式標(biāo)記對(duì)應(yīng)哪個(gè)值由小括號(hào)中的鍵來(lái)指定。
這行代碼的輸出為:'newsim:0009.5'。有時(shí)候在%6.2f這種形式中,6和2也不能事先指定,會(huì)在程序運(yùn)行過(guò)程中再產(chǎn)生,那怎么輸入呢,當(dāng)然不能用%%d.%df或%d.%d%f。
可以用%*.*f的形式,當(dāng)然在后面的”要輸出的值組“中包含那兩個(gè)*的值。比如:'%*.*f' % (6, 2, 2.345)就相當(dāng)于'%6.2f' % 2.345。
這是這本書到此為止看起來(lái)最復(fù)雜的內(nèi)容。不過(guò)如果記不住,或不想那么耐煩,完全可以全部用%s代替,或者用多個(gè)"+"來(lái)構(gòu)造類似的輸出字符串。
這里的%真有點(diǎn)除法的味道,怪不得設(shè)計(jì)者會(huì)選擇用%這個(gè)除號(hào)。象C 中的sprintf函數(shù)一樣,可以用“%”來(lái)格式化字符串Table 3.1. 字符串格式化代碼格式 描述%% 百分號(hào)標(biāo)記%c 字符及其ASCII碼%s 字符串%d 有符號(hào)整數(shù)(十進(jìn)制)%u 無(wú)符號(hào)整數(shù)(十進(jìn)制)%o 無(wú)符號(hào)整數(shù)(八進(jìn)制)%x 無(wú)符號(hào)整數(shù)(十六進(jìn)制)%X 無(wú)符號(hào)整數(shù)(十六進(jìn)制大寫字符)%e 浮點(diǎn)數(shù)字(科學(xué)計(jì)數(shù)法)%E 浮點(diǎn)數(shù)字(科學(xué)計(jì)數(shù)法,用E代替e)%f 浮點(diǎn)數(shù)字(用小數(shù)點(diǎn)符號(hào))%g 浮點(diǎn)數(shù)字(根據(jù)值的大小采用%e或%f)%G 浮點(diǎn)數(shù)字(類似于%g)%p 指針(用十六進(jìn)制打印值的內(nèi)存地址)%n 存儲(chǔ)輸出字符的數(shù)量放進(jìn)參數(shù)列表的下一個(gè)變量中。
Python中的int類型可以轉(zhuǎn)換為C語(yǔ)言中的uint類型,可以通過(guò)使用C語(yǔ)言的函數(shù)來(lái)實(shí)現(xiàn)。具體的實(shí)現(xiàn)方法如下:
1. 首先,在Python中,可以使用int()函數(shù)將int類型轉(zhuǎn)換為uint類型,如:int_val = int(uint_val)。
2. 然后,可以使用C語(yǔ)言的函數(shù)將Python中的int類型轉(zhuǎn)換為C語(yǔ)言中的uint類型,如:uint_val = (uint)int_val。
3. 最后,可以使用C語(yǔ)言的函數(shù)將C語(yǔ)言中的uint類型轉(zhuǎn)換為Python中的int類型,如:int_val = (int)uint_val。
因此,可以通過(guò)以上三個(gè)步驟,將Python中的int類型轉(zhuǎn)換為C語(yǔ)言中的uint類型。希望我的回答對(duì)您有所幫助。
作用就是把合理的數(shù)據(jù)轉(zhuǎn)換為需要的類型。int()整數(shù),float()浮點(diǎn)數(shù),str()字符串,list()列表,tuple()元組,set()集合……
比如a='12'這個(gè)是字符串類型,用int函數(shù)a=int(a)這時(shí)變量a就是整型,字符串'12'變?yōu)榱苏麛?shù)12。Python沒(méi)有變量聲明的要求,變量的屬性在賦值時(shí)確定,這樣變量的類型就很靈活。
有一種題目判斷一個(gè)整數(shù)是否回文數(shù),用字符串來(lái)處理就很簡(jiǎn)單
a=1234321#整數(shù)
if str(a)==str(a)[::-1]:#借助字符串反轉(zhuǎn)比較就可以確定是否回文數(shù)。
還比如元組b=(1,3,2,4),元組是不可以更新刪除排序成員的,但是列表是可以的,通過(guò)列表函數(shù)進(jìn)行轉(zhuǎn)換來(lái)實(shí)現(xiàn)元組的更新刪除和排序。
b=(1,3,2,4)
b=list(b)
b.sort()
b=tuple(b)
這時(shí)得到的元組b就是一個(gè)升序的元組(1,2,3,4)
再比如你要輸入創(chuàng)建整數(shù)列表或者整數(shù)元組基本上寫法相同,就是用對(duì)應(yīng)的函數(shù)來(lái)最后處理。
ls=list(map(int,input().split()))#這個(gè)就是列表
tup=tuple(map(int,input().split()))#這個(gè)就是元組
再比如有個(gè)叫集合的,集合有唯一性,可以方便用來(lái)去重。
ls=[1,2,3,1,2,3,1,2,3]
ls=list(set(ls))#通過(guò)set()去重后,現(xiàn)在的ls里就是[1,2,3]去重后的列表。