python定義string類型
❶ 如何在python中定義一個:帶變數的數組名
變數名字只是為了用戶使用方便而使用的,對於計算機,根本就不知道這中間的東西,看待這些都是使用內存的地址來判別的,對於你這樣的情況是無法直接利用java實現的,不過可以使用另外一種方法.
就是定義一個類,類中有兩個屬性,一個是String類型,一個是int類型,這樣循環定義100個對象,每個對象的String類型成員存放的是int1....int100,而int類性的成員則存放的是相應的數值。這樣一來就可以輕松解決了,而且這一百個對象可以定義成例如 Fun[]bj=new Fun[100];這樣一來,就可以利用數組的操作來實現任意操作了!!
❷ python的string
意思是把奇數變成0吧?
判斷每一位,如果是奇數就改為0
❸ Python基本內置數據類型有哪些
內置類型是指任何語言在設計初期定義的類型,如C語言中的int、double、char等。它也是在一種語言中最基本的類型,與編譯器編譯出的代碼具有重大關系。值得一提的是,不同語言也擁有不同的內置類型, 但是所有內置類型的定義都與計算機的運算方式相關。
Python主要內置類型包括數值、序列、映射、類、實例和異常等。
數值類型:全局中只有一個(Python在解釋器啟動的時候,Python會用None類型生成一個None的對象),包括int類型、float類型、complex類型、bool類型。
迭代類型:在Python中,迭代類型可以使用循環來進行遍歷。
序列類型:list(是可變序列,通常用於存放同類項目的集合)、tuple(是不可變序列,通常用於儲存異構數據的多項集)、str(在Python中處理文本數據是使用str對象,也稱為字元串。字元串是由Unicode碼位構成的不可變序列。)、array、range(表示不可變的數字序列,通常用於在for循環中循環指定的次數)、bytes(由單個位元組構成的不可變序列)、bytearray(bytes對象的可變對應物)、memoryvie(二進制序列)
映射類型:映射對象將具有hash的值映射到任意對象。映射是可變的對象。目前只有一種標准映射,即dictionary。字典的鍵幾乎是任意值,也就是說,包含列表、字典或其他可變類型的值。
集合類型:作為一種無序的多項集,集合並不記錄元素位置或插入順序。相應地,集合不支持索引、切片或其他序列類的操作。目前Python有兩種內置集合類型:set和frozenset。
set類型是可變的,其內容可以使用add()和remove()這樣的方法來改變。由於是可變類型,它沒有哈希值,且不能被用作字典的鍵或其他集合的元素。
frozenset類型是不可變並且具有哈希值,其內容在被創建後不能再改變,因此它可以被用作字典的鍵或其他集合的元素。
上下文管理類型:with語句
其他類型:模塊、class、實例、函數、方法、代碼、object對象、type對象、ellipsis(省略號)、notimplemented
❹ python stringtype unicodetype 在哪個庫中定義的
這兩個都是內置的,其實么有必要去深究那麼多吧
首先要弄清楚的是,在python里,string object和unicode object是兩種不同的類型。
string object是由characters組成的sequence,而unicode object是Unicode code units組成的sequence。
string里的character是有多種編碼方式的,比如單位元組的ASCII,雙位元組的GB2312等等,再比如UTF-8。很明顯要想解讀string,必需知道string里的character是用哪種編碼方式,然後才能進行。
Unicode code unit又是什麼東西呢?一個Unicode code unit是一個16-bit或者32-bit的數值,每個數值代表一個unicode符號。在python里,16-bit的unicode,對應的是ucs2編碼。32-bit對應的是ucs4編碼。是不是感覺string里character的編碼沒什麼區別?反正我現在腦子里就是這樣一個印象:在Python里,ucs2或者ucs4編碼的,我們叫做unicode object,其他編碼的我們就叫做string。
至於python里的unicode到底是ucs2還是ucs4的,可以在編譯時指定。例如Linux下,要用ucs2做unicode的編碼,可以這樣
# ./configure --enable-unicode=ucs2
# make
# make install
下載的Windows預編譯版本,一般都是ucs2的。要想知道某個python運行環境是ucs2還是ucs4,可以查看sys.maxunicde,65535就是ucs2的,另一個很大的數值就是ucs4。
下面我們看看string和unicode在python里的不同
我們先看看在簡體中文Windows 2003系統下,系統編碼是GBK
>>> a = '你好'
>>> a
'/xc4/xe3/xba/xc3'
>>> b = u'你好'
>>> b
u'/u4f60/u597d'
>>> print a
你好
>>> print b
你好
>>> a.__class__
<type 'str'>
>>> b.__class__
<type 'unicode'>
>>> len(a)
4
>>> len(b)
2
在一個系統編碼為UTF-8的Linux環境下
>>> a = '你好'
>>> a
'/xe4/xbd/xa0/xe5/xa5/xbd'
>>> b = u'你好'
>>> b
u'/u4f60/u597d'
>>> print a
你好
>>> print b
你好
>>> a.__class__
<type 'str'>
>>> b.__class__
<type 'unicode'>
>>> len(a)
6
>>> len(b)
2
如何?簡單總結一下:
1、string直接用引號來表示,unicode在引號前加一個u
2、直接輸入的string常量會用系統預設編碼方式來編碼,例如在GBK環境下,'你好'會編碼成'/xc4/xe3/xba/xc3',而在UTF-8環境下就成了'/xe4/xbd/xa0/xe5/xa5/xbd'。
3、len(string)返回string的位元組數,len(unicode)返回的是字元數
4、很重要的一點,print unicode不會亂碼。現在我們常用的Linux、Windows系統,都是支持unicode的,版本太老的不算。比如Windows 2003支持ucs2,所以在中文Windows2003下,除了可以正常顯示預設的GBK編碼外,還可以正常顯示ucs2編碼。舉個例子,還是在中文Windows 2003的GBK環境下:
>>>a = '/xe4/xbd/xa0/xe5/xa5/xbd' # UTF-8的'你好'
>>> print a
浣犲ソ
>>> b = unicode(a, "UTF-8")
>>> b
u'/u4f60/u597d'
>>> print b
你好
應該明白了吧?
下面再說說string和unicode的相互轉換,什麼unicode()、decode()、encode()、codecs之類的。
❺ Python中如何定義字元串
在Python中字元串是不可改變的對象(immutable),因此無法直接修改字元串的某一位字元。
一種可行的方式,是將字元串轉換為列表,修改列表的元素後,在重新連接為字元串。
示例代碼如下:
s = 'abcdefghijk' #原字元串l = list(s) #將字元串轉換為列表,列表的每一個元素為一個字元l[1] = 'z' #修改字元串的第1個字元為znewS = ''.join(l) #將列表重新連接為字元串print(newS)#azcdefghijk #修改後的字元串
❻ Python有哪些常用的數據類型
Numbers(數字型):
即我們常說的1,2,3等等這些數字,Python有兩個常見的數據類型轉化函數:int和float,一般數據類型可以用來做一些算術功能,如加減乘除乘方等等,還可以用作比較功能,一般返回的是true和false,也就是大於、等於、小於、小於等於諸如此類的有很多,這里就不一一解釋了。
String(字元串):
字元串是Python中比較常見的數據類型之一,能夠使用str函數將其他類型的數據強制轉換為字元串類型,有三種生成方法,即單引號'XXX',雙引號"XXX",三引號'''XXX
''',其中三引號一般用於字元串內容較長的時候。
List(列表):
列表可以說是Python中最為活躍的一個數據類型,使用也很頻繁,操作也很多,可以通過list函數或方括弧[]進行列表的創建。常見函數如求長度,用len,合並多個列表用+,列表元素重復*等等。
Tuple(元組):
元組可以看成是一種不可修改的特殊列表,可以通過小括弧()或者tuple函數來創建,即便是只有一個元素,元組中的元素最後也要有逗號。常見操作有求長度len,元組元素重復*,元組拼接+,查看最值max、min等。
Dictionary(字典):字元串、列表、元組都是有序的數據類型,字典是無序的數據類型,主要是用來存放具有一定映射關系的數據。可以通過兩種方法創建,1、{}2、dict函數創建。
set(集合):
集合不能有重復元素,可以看作是列表和字典的「雜合體」,可以通過三種方式創建,1、set函數,空集合只能用這種方法;2、{}創建,3、創建凍集合,frozenst。
❼ 八、 python中的數據類型——字元串
字元串是由數字、字母、下劃線組成的一串字元,比如 「hello, world!」 ,這就是一個字元串。
在python中,字元串要用引號括起來,單號號或者雙引號都可以。像是 'abc' , "xyz" 都是字元串。
在python中字元串用單引號或者雙引號括起來,例如 'a' , "b" ,a和b都是字元串類型,可以使用 type() 函數查看
python中還可以用三個引號表示字元串, ''' 或者 """ 都可以,它主要是用來表示跨行的字元串,例如:
執行 print(a,type(a)) ,可以看到結果
在"荒野獵人"和"2015-12-16"後面,都有'\n',只不過'\n'在shell中被列印出來了,所以看不到。
'\n'代表換行,因為有'\n'的存在,所以"2015-12-16","萊昂納多·迪卡普里奧 / 湯姆·哈迪"和"8.2"才從下一行開始列印。
為什麼有'\n'? 因為在定義a的時候,輸入完「荒野獵人」後按的回車,回車在計算機語言中即為'\n'。
在兩個三引號之間,單引號和雙引號都可以使用。同理,在單引號之間,可以用雙引號,在雙引號間可以用單引號。例如:
在表示一個單引號的時候,可以使用兩個雙引號,也就是 "'" ,也就是上面的例子a,另一種方法是用 '\'' ,反斜杠單引號等價於一個單引號,即:
兩個反斜杠\\代表一個反斜杠,因為你要列印一個反斜杠,但是反斜杠是轉義的意思,因此有一個特殊的轉義符 \\\\ ,它代表著一個反斜杠。
prefix還可以是元組,S.startswith(('a','b')),當S以'a'或者'b'開頭時返回True。
與find相對的,還有個rfind方法。
S.rfind(sub) -> int
它與find的區別是,find是從字元串左側開始查找,而rfind是從右側開始查找。兩者都是查找到第一個sub後就停止查找,立刻返回其索引值,沒找到返回-1。
關於更多字元串的信息,可以使用 help(str) 查看。
❽ Python 中string問題
string是早期版本Python的模塊,已經棄用。字元串應該使用內置類型str。不要定義和內置函數/對象名稱相同的變數名,將代碼中的str改成其他名字。
❾ python的數據類型有哪些
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。