當前位置:成語大全網 - 書法字典 - 如何輸出Python 3.4.0輸入不能正確隱式轉換' int '對象為STR?

如何輸出Python 3.4.0輸入不能正確隱式轉換' int '對象為STR?

python 3的輸入。x輸入默認為字符串,所以“g+65”必須改為“int (g)+65”。

Python3.x和Python2.x的區別1。性能?

Py3.0運行pystone benchmark比Py2.5慢30%,Guido認為Py3.0有很大的優化空間,它可以用於字符串和整形操作。

以便獲得良好的優化結果。?

Py3.1的性能比Py2.5慢15%,還有很大的提升空間。?

2.編碼?

默認情況下,Py3。x源文件使用utf-8編碼,這使得下面的代碼合法:?

& gt& gt& gt中國= '中國'?

& gt& gt& gt打印?

中國?

3 .語法?

1)刪除了

2)刪除``並用repr()替換all?

3)關鍵字包括as和with,以及True、False、None none?

4)整數除法返回浮點數。要獲得整數結果,請使用//?

5)添加非本地語句。可以用noclocal x直接賦值外圍(非全局)變量嗎?

6)刪除print語句,添加print()函數,實現同樣的功能。exec語句也是如此,已經改成了exec()函數?

比如:?

2.x:打印“答案是”,2*2?

3.x:打印(“答案是”,2*2)?

2.x:打印x,?#逗號結尾不換行?

3.X: print(x,end=" ") #用空格代替換行符?

2.X: print #輸出新的壹行?

3.X: print()?#輸出壹個新行?

2.x:print & gt;& gtsys.stderr,“致命錯誤”?

3.X: print("致命錯誤",file=sys.stderr)?

2.X: print (x,y)?# output repr((x,y))?

3.X: print((x,y)) #不同於print(x,y)!?

7)改變了順序操作符的行為,例如x

8)輸入功能發生了變化。raw_input已被刪除,已使用input代替:?

2.x: guess = int (raw _ input('輸入壹個整數:')#如何讀取鍵盤輸入?

3.X:guess = int(input('輸入壹個整數: '))

9)移除元組參數並解包。不能def(a,(b,c)):pass這樣定義函數?

10)是壹個新的八進制字變量,oct()函數做了相應的修改。?

2.x的方式如下:?

& gt& gt& gt0666?

438?

& gt& gt& gt十月(438)?

'0666'?

3.x這樣:?

& gt& gt& gt0666?

語法錯誤:無效標記(& ltpyshell # 63 & gt,行1)?

& gt& gt& gt0o666?

438?

& gt& gt& gt十月(438)?

0o666 '?

11)加二進制文字和bin()函數?

& gt& gt& gt斌(438)?

0b 110110110 '?

& gt& gt& gt_ 438 = ' 0b 110110110 '?

& gt& gt& gt_438?

0b 110110110 '?

12)擴展叠代解包。在Py3。x,a,b,*rest = seq和*rest,a = seq都是合法的,只需要兩點:rest是列表嗎?

對象和序列是叠代的。?

13)新的super()不能再向super()傳遞參數。

& gt& gt& gtC類(對象):?

def __init__(self,a):?

打印(' C ',a)?

& gt& gt& gtD類(C類):?

def __init(self,a):?

超級()。__init__(a) #不帶參數調用super()?

& gt& gt& gtD(8)?

C 8?

& lt__main__。d對象位於0x 00d 7 ed 90 & gt;?

新的元類語法:

Foo類(* bases,**kwds):?

通過?

15)支持類裝飾器。用法和函數裝飾器壹樣:?

& gt& gt& gtdef foo(cls_a):?

def print_func(self):?

打印(“妳好,世界!”)?

cls_a.print = print_func?

返回cls_a?

& gt& gt& gt@foo?

C類(對象):?

通過?

& gt& gt& gtc()。print()?

妳好,世界!?

Class decorator可以用來玩貍貓換太子的大招。詳見PEP 3129?

4.字符串和字節串?

1)現在只有壹種類型的字符串,但是和unicode版本2差不多。x..

2)字節字符串請參考數據類型的第2項?

5.數據類型?

1)Py3。x去掉了long類型,現在只有壹個integer-int,但是它的行為像2。x版龍?

2)增加了字節類型,對應於版本2的八位字節字符串。十、定義壹個字節文字量的方法如下:?

& gt& gt& gt中國?

& gt& gt& gt(b)型?

& lt類型“字節”& gt?

字符串對象和字節對象可以使用。encode()(str-> >;字節)或。decode()(字節-& gt;Str)方法相互轉換。?

& gt& gt& gts = b.decode()?

& gt& gt& gts?

中國?

& gt& gt& gtb1 = s.encode()?

& gt& gt& gtb1?

“中國”?

3)字典的。keys(),。項目和。values()方法返回叠代器,而之前的iterkeys()等函數被放棄。也撤了?

Dict.has_key(),替換為in?

6.面向對象?

1)引入了Abstraact基類(ABCs)。?

2)容器類和叠代器類都是ABCs,所以cellections模塊中的類型比Py2.5多很多?

& gt& gt& gt導入收藏?

& gt& gt& gt打印(' \n '。join(dir(collections)))?

可贖回?

集裝箱?

哈沙布爾?

ItemsView?

可叠代?

叠代器?

KeysView?

映射?

MappingView?

可變映射?

可變序列?

MutableSet?

NamedTuple?

序列?

設置?

大小合適?

ValuesView?

__all__?

__內置_ _?

__doc__?

__file__?

__name__?

_abcoll?

_itemgetter?

_sys?

defaultdict?

德雀?

此外,數值類型也是ABC化的。這兩點請參考人教版3119和人教版3141。?

3)叠代器的next()方法重命名為__next__(),增加壹個內置函數next()調用叠代器的__next__()方法?

4)增加了兩個decorator,@abstractmethod和@abstractproperty,使得編寫抽象方法(屬性)更加方便。?

7.不正常?

1)所以所有異常都是從BaseException繼承的,StardardError被刪除?

2)刪除序列行為和。異常類的消息屬性。

3)用raise Exception(args)代替raise Exception,args語法?

4)捕捉異常的語法變化,引入as關鍵字來識別異常實例。在Py2.5:?

& gt& gt& gt試試:?

...引發notimplementererror(' Error ')?

...NotImplementedError除外,錯誤:

...打印錯誤。消息?

...?

錯誤?

在Py3.0中:?

& gt& gt& gt試試:?

引發notimplementererror(' Error ')?

except not implemented error as error:#註意這個as?

print(str(error))?

錯誤?

5)異常鏈,因為__context__在3.0a1版本中沒有實現?

8.模塊變化?

1)刪除了cPickle模塊,可以用Pickle模塊代替。最終我們將擁有壹個透明而高效的模塊。?

2)移除了imageop模塊?

3)音頻dev,bastion,BSD db 185,異常,Linux音頻dev,MD5,mime writer,Mimi fy,popen 2,?

Rexec,sets,sha,Stringold,Strop,Sun Audio Dev,Timing和xmllib模塊?

bsddb模塊(單獨發布,可從http://www.jcea.es/programacion/pybsddb.htm購買)已被移除?

5)移除新模塊?

6)6)OS . tmpnam()和os.tmpfile()的函數移到tmpfile模塊中?

7)tokenize模塊現在可以處理字節。主入口點不再是generate_tokens,而是tokenize.tokenize()?

9.其他?

1)xrange()被重命名為range()。要使用range()獲取列表,必須顯式調用:?

& gt& gt& gtlist(範圍(10))?

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]?

2)bytes對象不能hash,不支持b.lower()、b.strip()和b.split()的方法,但是可以使用b.strip(b '?

\n\t\r \f ')和b.split (b ' ')來達到相同的目的?

3)zip()、map()和filter()都返回叠代器。以及apply()、callable()、constent()、execfile()、reduce()和reload?

()函數已被刪除。

現在hasattr()可以用來代替callable()的語法。hasattr(),比如hasattr (string,' _ _ name _ ')。

4)字符串.字母及相關。小寫和。大寫字母被刪除。請改用string.ascii_letters?

5)如果X

6)__getslice__系列成員被放棄。A[i:j]轉換成壹個. _ _ getitem _ (slice (I,j))或__setitem__和?

_ _ delivery _ _ call?

7)7)file類被放棄,在Py2.5中:?

& gt& gt& gt文件?

& lt鍵入“文件”& gt?

在Py3。x:?

& gt& gt& gt文件?

回溯(最近壹次呼叫):?

文件" & ltpy shell # 120 >;",行1,在& lt模塊& gt?

文件?

名稱錯誤:未定義名稱“文件”