python變量數據類型總結

      今日在對比shell編程和python編程時,對於關鍵字、數據類型、流程控制、異常處理這些有了新的看法,同時對“面向過程編程-函數式編程-面向對象編程”的編程思想也有了一些更深的看法,所以準備將這些依次總結一下,整理如下。

       對於python數據類型,是變量相關的重要概念,變量三要素:名稱、數據類型、操作方法,這三者從三個方面描述了變量,而變量也就成爲了整個python編程的重要基礎。
       我對python中數據類型相關的重要概念,編寫在一個python腳本中了,並測試腳本運行正常,通過腳本內容和運行結果,就可以把握python數據類型相關的內容了。


       python數據類型相關腳本內容如下:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#################
#python腳本的核心是關鍵字,變量,流程控制與編程思想;
#################
print '''
python腳本的核心是關鍵字,變量,流程控制與編程思想.
變量也有三要素:變量名稱,變量數據類型,變量操作方法(操作符,操作函數)。
python數據類型,按照特徵可以劃分爲4個大類:數字類型,序列(數組)類型,映像類型,集合類型。
    數字類型
        整型
            布爾型
            標準整型
            長整型
        非整型
            雙精度浮點型
            複數
            decimal(不是內建類型)
    序列類型(shell中叫數組)
        字符串 str
        元祖 tuple
        列表 list
    映像類型
        字典 dict
    集合類型
        可變集合 set
        不可變集合 frozenset
    
python數據類型,安裝可變性(是否可變)劃分,可以劃分爲2大類,7小類。
    可哈希的,不可變的數據類型
        數字類型
        不可變集合 frozenset
        字符串 str
        元祖 tuple
    可變的數據類型
        字典 dict
        列表 list
        可變集合 set
'''
#################
#Number數字類型
#################
print "Number數字類型,通常用於存儲數字,是最常用的變量類型"
print "整型 int ,有32位或64位長度範圍限制"
a = 12
b = -405
c = 0x3A
print "整型取值有,正整數{a},負整數{b},十六進制表示的正整數{c}".format(a=a, b=b, c=c)
print
print "長整型 long integer,數值後面以l或L結尾,沒有固定位寬,理論可以表示很長的數值"
a = 1239884
b = -68123912
c = 0xA32B9DDL
print "長整型有,正長整型{a},負長整型{b},十六進制表示的長整型{c}".format(a=a, b=b, c=c)
print
print "布爾型 boolean,多用於判斷場景,只有兩個值:true,false"
a = False
b = True
print "布爾型,假爲{a},真爲{b}".format(a=a,b=b)
print
print "雙精度浮點數 double-precision floating,可以直接用十進制或科學計數法表示,每個數佔8字節,可以在後面加小數點或e"
a = 1.7946
b = -30.
c = 3e8
print "雙精度浮點數,普通小數{a},複數浮點數{b},科學計數法{c}".format(a=a,b=b,c=c)
print
print "數值類型的操作符分兩類,第一類是算術運算符,如加減乘除;第二類是二進制比特操作,如取反、異或,可以先轉化二進制再考慮"
print '''數值類型,算術操作符有13類
a+b   加號,也可以單獨放在數字前,用於表示正數
a-b   減號,也可以單獨放在數字前,用於表示複數
a*b   乘號
a/b   除號,b不能爲0,整數相除仍爲整數
a%b   取餘數,結果爲a除以b後取餘數
a**b    冪操作符,結果爲a的b次方
a//b    取整除符,結果爲a除以b後的結果的整數部分
not a   取反操作,只用於布爾類型
a>b    判斷a是否大於b,結果爲true或false
a<b    判斷a是否小於b,結果爲true或false
a==b    判斷a是否等於b,結果爲true或false
a>=b    判斷a是否大於等於b,結果爲true或false
a<=b    判斷a是否小於等於b,結果爲true或false
'''
3 + 6.4
2 ** 3
6 /4
4.0 /2
7 // 3
9 % 4
not True
3 == 3
print
print '''數值類型,比特操作符有6類
~A    按二進制取反,安裝補碼規則,結果數字是-(A+1)
A&B   並操作
A|B   或操作
A^B   異或操作
A>>B  按比特位右移
A<<B  按比特位左移
'''
~30
3 & 3
3 & 1
3 ^ 1
3 << 1
print
print "除了算術操作符和比特操作符,python還有內置函數可以操作變量,內置函數可以分爲能夠操作各種數據類型變量的通用函數,和只能操作數據類型變量的特定函數"
print '''python內置通用函數,即可操作數值類型的變量,也可以操作其他類型的變量
cmp(A, B)    比較二者的大小,如果前者小則爲-1,前者大爲1,相等爲0
str(A)     將參數轉換Wie可顯示的字符串
type(A)    返回參數的類型對象
bool(A)    將參數轉換爲布爾類型
int(A)     將參數轉換爲整數類型,以十進制表示
long(A)    將參數轉換爲長整型,以十進制表示
float(A)    將參數轉換爲浮點類型
complex(A)  將參數轉換爲複數類型
'''
cmp(23, 12.43)
cmp(0, -2)
cmp(0x12, 18)
str(0x20)
type(3L)
type(True)
type(45+5.4j)
bool("True")
long("35")
print
#################
# 序列(數組)類型
#################
print "python除了數字類型,序列類型簇也在python中非常重要,序列類似與shell中數組的概念。"
print "python中序列,就是有序的數列,既然有序,就可以用數組的處理方式,序列包含字符串str,元組tuple,列表三種類型。"
print "字符串str是有字符組成的序列類型,元組tuple是有任意對象組成的不可修改的序列類型,列表list是有任意對象組成的可修改的序列類型。"
print "字符串str,元祖tuple,列表list,既然都是有順序的數列,就有一些共同的操作符和內置函數來操作。"
print
print '''
python中序列運算,字符串,元組,序列都可以進行的運算,主要包括元素提取、序列連接等"
A[index]   獲取序列中第index個元素,取值從0開始,如A[0]
A[index1:index2] 切片操作,獲取序列中從index1到index2-1的子序列,如A[1,4]
A in B    判斷B中是否有A,如果有則爲True,如果沒有則爲False
A not in B  判斷序列B中是否沒有A,如果沒有則爲True,如果有則爲False
A + B    連接序列A和B,生成新的序列並返回
A * number   將A重複number次,生成新的序列並返回
A > B    判斷A是否大於B,結果爲True或False
A < B    判斷A是否小於B,結果爲True或False
A == B   判斷A是否等於B,結果爲True或False
A >= B   判斷A是否大於等於B,結果爲True或False
A <= B   判斷A是否小於等於B,結果爲True或False
'''
a = "Hello, I like python practice!"
print a
print a[0]
print a[6:13]
print a[:13]
print a[14:]
print "like" in a
print a + "!!"
print a
print 'ABC' * 3
b = a[6:13]
c = [2, 4, "apple", 5]
print b[1:]
print b + c[2]
print
print '''
python中,字符串str,元組tuple,列表list都可以使用的內置函數有求長度、類型轉換、排序等
enumerate(A)    對序列A生成一個可枚舉對象,對象中每個元素都是一個二位元組,元組內容爲(索引號,序列元素)
len(A)    返回序列A的長度
list(A)   轉換序列A爲list列表類型
max(A)    返回序列A中的最大值
max(a, b, ...)    返回所有參數中的最大值
lin(A)    返回序列A中的最小值
lin(a, b, ...)    返回所有參數中的最小值
reversed(A)    生成A的反向序列
sorted(A, func=None, key=None, reverse=False)  對序列A排序,排序規則安裝參數func,key,reverse 指定的規則進行
sum(A, init=0)    對A中的元素求和
tuple(A)    轉換序列A爲tuple元組類型
'''
a = [34, 2, 1, 887, -0.5]
print a
print len(a)
print max(a)
print min(a)
print list(reversed(a))
print sorted(a)
print

#################
#String字符串類型
#################
print "字符串string是由零個或多個字符組成的有限序列,用單引號或雙引號表示,具備序列的通用操作方法,也有自己一些獨特的操作方法。"
print "python中字符串的分爲普通字符串和Unicode字符串兩種,用引號聲明的是普通字符串,引號前加u的,就是Unicode字符串,有漢字就應該聲明爲unicode字符串。"
str1 = "Hello, World!"
str2 = u"Hello, I'm Unicode!"
str3 = u"你好,世界!"
print str1+str2+str3
print str1[5]
print str1[7:]
str1 = str2 = "Hello, World!"
str1 = str1 + "Hello, World!"
print str1
str1 = str1[:6] + str1[-8:]
print str1
print
print "字符串格式化,是按照指定的規則連接、替換字符串並返回新的符合要求的字符串。"
print "字符串格式化有%格式化和format格式化兩種,format格式化以後會變成主流"
print '''
python中%格式化字符串的表格式語法爲:
format_string % string_to_convent
format_string % (str_to_convent1, str_to_convent2, ...)
'''
charA = 65
charB = 66
print u"ASCII碼65代表: %c " % charA
print u"ASCII碼%d代表: B "  % charB
print '''
字符串格式化時,常用的格式化符號表有:
%c 轉爲單個字符
%r 轉換爲repr()函數表達的字符串
%s 轉換爲str()函數表達的字符串
...
%% 輸出 %
python中輔助格式化符號表
*    定義寬度或小數點的精度
-    左對齊
+    對正數輸出正值符號“+”
<sp>  數字大小不足m.n要求時,用空格補位
#    在八進制數千名顯示0,在十六進制前面顯示0x,或0X
0    數字大小不滿足m.n的要求時,用0補位
m.n    m是顯示的最小總寬度,n是小數點後的位數
格式化字符串中固定內容,處理字母、數字、標點符號,還可以包含不同的顯示字符,比如回車、縮進等。
python中稱這些字符爲轉義字符,常見的轉義字符有:
轉義字符    解釋    ASCII值
\a    響鈴(BEL)  7
\b    退格(BS),將當前位置移到前一列   8
\f    換頁(FF),將當前位置移到下頁開頭  12
\n    換行(LF),將當前位置移到下一行開通  10
\r    回車(CR),將當前位置移到本行開頭    13
\t    水平製表(HT),跳到下一個tab位置     9
\v    垂直製表(VT)                        11
\\    代表一個反斜線字符'\'                 92
\'    代表一個單引號(撇號)字符            39
\"    代表一個雙引號字符                    34
\?    代表一個問號                          63
\0    空字符(NULL)                        0
在字符串中,如果出現轉義字符,就會被解釋成爲相應含義,如果在字符串前面加r,就會禁用轉義字符解釋
'''
print "%#x" % 108
print '%E' % 1234.567890
print 'Host: %s\t Port: %d' %('python', 8)
print 'MM/DD/YY = %02d/%02d/%d' % (2, 1, 95)
print "Hi, \nToday is Friday."
print r"Hi, \nToday is Friday."
print
print '''
字符串str,作爲處理數字類型外,python中最重要的常用類型之一,有很多內置函數,常用的str內置函數如下:
capitalize(): 將字符串中第一個字符大寫
center(width):  返回一個長度至少爲width的字符串,並使元字符串的內容居中
count(str, beg=0, end=len(string)):  返回str在string裏面出現的次數,可以用開始索引beg和結束索引end指定搜索的範圍
decode(encoding='UTF-8', errors='strict'):  以encoding指定的編碼格式解碼string
encode(encoding='UTF-8', errors='strict'):  以encoding指定的編碼格式編碼string
endswitch(obj, beg=0, end=len(string))b,e:  檢查字符串是否以obj結束,如果是,返回True,否則返回False;beg和end指定索引範圍
expandtabs(tabsize=8):  把字符串string中的tab符號轉成空格,默認的空格數tabsize是8
find(str, beg=0, end=len(string)):  檢測str是否包含在string中,beg和end指定範圍
index(str, beg=0, end=len(string)):  和find類似,如果str不在string中,則報一個異常
isalnum():  如果發現有一個字符,並且所有字符都是字母或數字,則返回True,否則返回False
isalpha():  如果發現有一個字符並且所有字符都是字母,則返回True,否則返回False
isdecimal():  如果可解釋爲十進制數字,則返回True,否則返回False
isdigit():  如果可解釋爲數字,則返回True,否則返回False
islower():  如果字符串中字符都是小寫,則返回True,否則返回False
isnumeric():  如果可解釋爲字符,則返回True,否則返回False
isspace():  如果字符串是空格,則返回True,否則返回False
istitle():  如果字符串是標題化的,則返回True,否則返回False
isupper():  如果字符串中的字符都是大寫的,則返回True,否則返回False
ljust(width):  返回一個原字符串左對齊,並使用空格填充至長度width的新字符串
lower():  轉換所有大寫字符爲小寫
lstrip():  截掉string左邊的空格
replace(str1, str2, num=count(str1)):  把string中str1替換成str2,num指定替換的最大次數
rfind(str, beg=0, end=len(string)):  類似於find,但是從右邊開始查找
rindex(str, beg=0, end=len(string)):  類似於find,但是從右邊開始查找
rjust(width):  返回一個原字符串右對齊,並使用空格填充至長度width的新字符串
rpartition(str)e:  類似於partition,但是從右邊開始查找
rstrip():  刪除string字符串末尾的空格
split(str="", num=count(str)):  以str爲分割符切片string,如果num有指定的值,則分割num個字符串
splitlines(num=count('\n')):  按照行分割,返回一個包含各行作爲元素的列表,如果num已經指定,則進切片num個行
startswith(obj, beg=0, end=len(string)):  檢查字符串是否以obj開頭,則返回True,否則返回False
strip([obj]):  在string上執行lstrip()和 rstring()
swapcase():  翻轉string中的大小寫
title:  將字符串標題化,即所有單詞都以大寫開始,其餘字母爲小寫
translate(str, del=""):  根據str給出的錶轉換string的字符,將要過濾的字符,放到del參數中
upper():  轉換string中的小寫字母爲大寫
zfill(width):  返回長度爲width的字符串,原字符串string右對齊,前面填充0
'''
str = "hello world"
print str.title()
print str.split()
print
#################
#元組tuple類型
#################
print '''
tuple元組類型,是一種特殊的序列類型,用圓括號()表示,在不同元素間,用逗號隔開。
python中元組的大小和其中的元素在初始化之後,就不能修改,所以速度也比可以修改的列表list類型操作速度快。
如果需要定一個值的常量集,並且唯一操作就是不斷的讀取,這時用元組truple就非常合適了。
元組tuple的操作方法,用()定義後,基本上用序列類型的通用操作方法即可。
'''
tuple1 = ('you', 456, 'Englist', 9.56)
print tuple1[2]
print tuple1[1:]
tuple2 = (3, 'you and me')
tuple1 = tuple1 + tuple2
print tuple1
print len(tuple1)
print
#################
#列表list類型
#################
print '''
列表list,是一種常用的sequence類型,用中括號[]表示,不同元素間,用逗號隔開。
python中,list的大小和其中的元素在初始化後,可以被再次修改,這是列表list類型和元組tuple類型的主要區別。
如果開發中需要定義一組值,並且之後需要不斷地進行增、刪、改等操作,就比較合適用列表list類型了。
列表list用[]定義後,可以用序列的通用操作方法,也可以用專門針對list列表類型的內置函數操作。
'''
myList = ['you', 567, 'Englist', 7.56]
print myList[2]
print myList[1:]
myList[2]='France'
print myList
print len(myList)
numList = [2, 8, 16, 1, -6, 52, -1]
print sorted(myList)
print myList
print sum(numList)
print
print '''
除了序列的通用操作外,列表list專門的內置函數有:
append(obj):  在list最後一位添加一個對象
count(obj):  計算讀象在list中出現的次數
extend(seq):  把序列seq的內容添加到list中
index(obj, i=0, j=len(list)):  計算對象obj在列表中的索引位置
insert(index, obj):  把讀象插入到index指定的位置
pop(index=-1):  讀取並刪除index位置的讀寫,默認爲最後一個對象
remove(obj):  從列表中刪除對象obj
reverse():  獲得反向列表
list.sort(func=None, key=None, reverse=False)b:   以指定的方式排序列表中的成員
'''
numList = [3, 8, 16, 7, -6, 55, -2]
print numList.count(8)
numList.insert(1, 9)
print numList
print

#################
#集合set類型
#################
print '''
集合set類型,是一個數學概念,表示相互之間無序的一組對象。集合不是序列(數組),所以是沒有序號和位置索引的概念的。
python中集合分爲兩種,普通集合和不可變集合,普通集合用set定義,可以用string或list進行初始化;不可變集合用frozenset定義。
集合在算術上的運算,包括並集、交集、補集等,普通集合在初始化後,支持並集、交集、補集等運算;不可變集合初始化後,就不能改變。
'''
sample1 = set('understand')
print sample1
myList = [3, 7, -1.3, 'English', 0, 'python']
sample2 = set(myList)
print sample2
sample3 = frozenset(myList)
print sample3
print
print '''
根據集合的定義,在python中,對集合set類型,也有操作符和內置函數兩種操作方式。
python中常用的集合操作符有:
in    判斷包含關係
not in  判斷不包含關係
==  判斷等於
!=  判斷不等於
<   判斷絕對子集關係
<=  判斷非絕對子集關係
>   判斷絕對超集關係
>=  判斷非絕對超集關係
&   交運算
|   並運算
-   差運算
^   對稱差運算
|=  執行並運算並賦值
&=  執行交運算並賦值
-=  執行差運算並賦值
^=  執行對稱差運算並賦值
'''
myList = [4, 6, -1.1, 'English', 0, 'python']
sample2 = set(myList)
sample3 = frozenset([6, 'Englist', 9])
print 6 in sample2
print sample2 >= sample3
print sample2 - sample3
print sample2 & sample3
sample3 |= sample2
print sample3
print
print '''
可變集合set類型,除了操作符,還可以用內置函數進行集合的增、刪、改等操作,函數如下:
add():  增加新元素
update():  用序列更新集合,序列的每個元素都被添加到集合中
remove(element):  刪除元素
'''
sample2 = set([4, 6, -1.3, 'English', 0, 'python'])
sample2.add('China')
print sample2
sample2.update('France')
print sample2
sample2.remove(-1.3)
print sample2
sample3 = frozenset([6, 'English', 9])
#sample3.add('Chiand')   #會報錯,就不在腳本中執行了
print
#################
#字典Dictionary類型
#################
print '''
字典Dictionary類型,用大括號{}表示,代表一個key/value 存儲庫,這種鍵/值存儲庫工作方式很像映射表,鍵值映射之間用逗號隔開。
給定一個鍵key,可以在一個字典dict對象中搜索該鍵對應的值,因此字典被認爲是key/value 鍵值對的列表。
字典dict類型比較特殊,所以定義方式也比較特殊,可以使用{key1:value, key2:value, ...}操作也使用內置函數直接操作。
'''
dict1 = {'Language':'English', 'Title':'python book', 'Pages':450}
print dict1
print dict1['Title']
dict1['Date'] = '2010-12-25'
print dict1
dict1['Language'] = 'Chinese'
print dict1
dict2 = {'Language':'English', 'Language':'Chinese'}
print dict2
print
print '''
python中,對字段dict類型常用的內置函數操作有:
clear():  清除字典中的所有鍵值對
copy():  複製字典的一個副本
fromkeys(seq, val=None)c:  用seq中的元素作爲鍵key創建字典,所有鍵的值都設爲 val,val默認爲None
get(key, default=None):  讀取字典中的鍵 key,返回該鍵的值;如果找不到該鍵,則返回default所設的值
has_key(key):  判斷鍵key在字典中是否存在,如果存在則返回true,否則返回false
items():  返回一個包含字典中 (鍵,值)對元組的列表
keys():  返回一個字典中的所有鍵的列表
iteritems():   返回對字典中所有 (鍵,值)對的迭代器
iterkeys():  返回對字典中所有鍵的迭代器
itervalues():  返回對字典中所有值的迭代器
pop(key[,default]):  讀取某鍵的值,並且從字典中刪除該鍵的值。如果鍵key不存在且沒有設置default,則引發keyerror異常
setdefault(key,default=None):  設置字典中鍵key的值爲default
update(dict):  合併字典
values():  返回一個包含字典張所有值的列表
'''
dict1 = {'Language':'English', 'Title':'python book', 'Pages':450}
print dict1.get('Title', 'Todo')
print dict1.get('Author', 'Anonymous')
print dict1.pop('Language')
print dict1
dict2 = {'Author':'David', 'Price':32.00, 'Pages':409}
dict1.update(dict2)
print dict1
print dict1.values()
print



       執行結果如下:

# python py_data_type.py
python腳本的核心是關鍵字,變量,流程控制與編程思想.
變量也有三要素:變量名稱,變量數據類型,變量操作方法(操作符,操作函數)。
python數據類型,按照特徵可以劃分爲4個大類:數字類型,序列(數組)類型,映像類型,集合類型。
    數字類型
        整型
            布爾型
            標準整型
            長整型
        非整型
            雙精度浮點型
            複數
            decimal(不是內建類型)
    序列類型(shell中叫數組)
        字符串 str
        元祖 tuple
        列表 list
    映像類型
        字典 dict
    集合類型
        可變集合 set
        不可變集合 frozenset
    
python數據類型,安裝可變性(是否可變)劃分,可以劃分爲2大類,7小類。
    可哈希的,不可變的數據類型
        數字類型
        不可變集合 frozenset
        字符串 str
        元祖 tuple
    可變的數據類型
        字典 dict
        列表 list
        可變集合 set
Number數字類型,通常用於存儲數字,是最常用的變量類型
整型 int ,有32位或64位長度範圍限制
整型取值有,正整數12,負整數-405,十六進制表示的正整數58
長整型 long integer,數值後面以l或L結尾,沒有固定位寬,理論可以表示很長的數值
長整型有,正長整型1239884,負長整型-68123912,十六進制表示的長整型171096541
布爾型 boolean,多用於判斷場景,只有兩個值:true,false
布爾型,假爲False,真爲True
雙精度浮點數 double-precision floating,可以直接用十進制或科學計數法表示,每個數佔8字節,可以在後面加小數點或e
雙精度浮點數,普通小數1.7946,複數浮點數-30.0,科學計數法300000000.0
數值類型的操作符分兩類,第一類是算術運算符,如加減乘除;第二類是二進制比特操作,如取反、異或,可以先轉化二進制再考慮
數值類型,算術操作符有13類
a+b   加號,也可以單獨放在數字前,用於表示正數
a-b   減號,也可以單獨放在數字前,用於表示複數
a*b   乘號
a/b   除號,b不能爲0,整數相除仍爲整數
a%b   取餘數,結果爲a除以b後取餘數
a**b    冪操作符,結果爲a的b次方
a//b    取整除符,結果爲a除以b後的結果的整數部分
not a   取反操作,只用於布爾類型
a>b    判斷a是否大於b,結果爲true或false
a<b    判斷a是否小於b,結果爲true或false
a==b    判斷a是否等於b,結果爲true或false
a>=b    判斷a是否大於等於b,結果爲true或false
a<=b    判斷a是否小於等於b,結果爲true或false

數值類型,比特操作符有6類
~A    按二進制取反,安裝補碼規則,結果數字是-(A+1)
A&B   並操作
A|B   或操作
A^B   異或操作
A>>B  按比特位右移
A<<B  按比特位左移

除了算術操作符和比特操作符,python還有內置函數可以操作變量,內置函數可以分爲能夠操作各種數據類型變量的通用函數,和只能操作數據類型變量的特定函數
python內置通用函數,即可操作數值類型的變量,也可以操作其他類型的變量
cmp(A, B)    比較二者的大小,如果前者小則爲-1,前者大爲1,相等爲0
str(A)     將參數轉換Wie可顯示的字符串
type(A)    返回參數的類型對象
bool(A)    將參數轉換爲布爾類型
int(A)     將參數轉換爲整數類型,以十進制表示
long(A)    將參數轉換爲長整型,以十進制表示
float(A)    將參數轉換爲浮點類型
complex(A)  將參數轉換爲複數類型

python除了數字類型,序列類型簇也在python中非常重要,序列類似與shell中數組的概念。
python中序列,就是有序的數列,既然有序,就可以用數組的處理方式,序列包含字符串str,元組tuple,列表三種類型。
字符串str是有字符組成的序列類型,元組tuple是有任意對象組成的不可修改的序列類型,列表list是有任意對象組成的可修改的序列類型。
字符串str,元祖tuple,列表list,既然都是有順序的數列,就有一些共同的操作符和內置函數來操作。

python中序列運算,字符串,元組,序列都可以進行的運算,主要包括元素提取、序列連接等"
A[index]   獲取序列中第index個元素,取值從0開始,如A[0]
A[index1:index2] 切片操作,獲取序列中從index1到index2-1的子序列,如A[1,4]
A in B    判斷B中是否有A,如果有則爲True,如果沒有則爲False
A not in B  判斷序列B中是否沒有A,如果沒有則爲True,如果有則爲False
A + B    連接序列A和B,生成新的序列並返回
A * number   將A重複number次,生成新的序列並返回
A > B    判斷A是否大於B,結果爲True或False
A < B    判斷A是否小於B,結果爲True或False
A == B   判斷A是否等於B,結果爲True或False
A >= B   判斷A是否大於等於B,結果爲True或False
A <= B   判斷A是否小於等於B,結果爲True或False
Hello, I like python practice!
H
 I like
Hello, I like
python practice!
True
Hello, I like python practice!!!
Hello, I like python practice!
ABCABCABC
I like
 I likeapple

python中,字符串str,元組tuple,列表list都可以使用的內置函數有求長度、類型轉換、排序等
enumerate(A)    對序列A生成一個可枚舉對象,對象中每個元素都是一個二位元組,元組內容爲(索引號,序列元素)
len(A)    返回序列A的長度
list(A)   轉換序列A爲list列表類型
max(A)    返回序列A中的最大值
max(a, b, ...)    返回所有參數中的最大值
lin(A)    返回序列A中的最小值
lin(a, b, ...)    返回所有參數中的最小值
reversed(A)    生成A的反向序列
sorted(A, func=None, key=None, reverse=False)  對序列A排序,排序規則安裝參數func,key,reverse 指定的規則進行
sum(A, init=0)    對A中的元素求和
tuple(A)    轉換序列A爲tuple元組類型
[34, 2, 1, 887, -0.5]
5
887
-0.5
[-0.5, 887, 1, 2, 34]
[-0.5, 1, 2, 34, 887]
字符串string是由零個或多個字符組成的有限序列,用單引號或雙引號表示,具備序列的通用操作方法,也有自己一些獨特的操作方法。
python中字符串的分爲普通字符串和Unicode字符串兩種,用引號聲明的是普通字符串,引號前加u的,就是Unicode字符串,有漢字就應該聲明爲unicode字符串。
Hello, World!Hello, I'm Unicode!你好,世界!
,
World!
Hello, World!Hello, World!
Hello,, World!
字符串格式化,是按照指定的規則連接、替換字符串並返回新的符合要求的字符串。
字符串格式化有%格式化和format格式化兩種,format格式化以後會變成主流
python中%格式化字符串的表格式語法爲:
format_string % string_to_convent
format_string % (str_to_convent1, str_to_convent2, ...)
ASCII碼65代表: A 
ASCII碼66代表: B
字符串格式化時,常用的格式化符號表有:
%c 轉爲單個字符
%r 轉換爲repr()函數表達的字符串
%s 轉換爲str()函數表達的字符串
...
%% 輸出 %
python中輔助格式化符號表
*    定義寬度或小數點的精度
-    左對齊
+    對正數輸出正值符號“+”
<sp>  數字大小不足m.n要求時,用空格補位
#    在八進制數千名顯示0,在十六進制前面顯示0x,或0X
0    數字大小不滿足m.n的要求時,用0補位
m.n    m是顯示的最小總寬度,n是小數點後的位數
格式化字符串中固定內容,處理字母、數字、標點符號,還可以包含不同的顯示字符,比如回車、縮進等。
python中稱這些字符爲轉義字符,常見的轉義字符有:
轉義字符    解釋    ASCII值
    響鈴(BEL)  7
    退格(BS),將當前位置移到前一列   8
    換頁(FF),將當前位置移到下頁開頭  12
    換行(LF),將當前位置移到下一行開通  10
    回車(CR),將當前位置移到本行開頭    13
            水平製表(HT),跳到下一個tab位置     9
    垂直製表(VT)                        11
\    代表一個反斜線字符''                 92
'    代表一個單引號(撇號)字符            39
"    代表一個雙引號字符                    34
\?    代表一個問號                          63
    空字符(NULL)                        0
在字符串中,如果出現轉義字符,就會被解釋成爲相應含義,如果在字符串前面加r,就會禁用轉義字符解釋
0x6c
1.234568E+03
Host: python     Port: 8
MM/DD/YY = 02/01/95
Hi, 
Today is Friday.
Hi, \nToday is Friday.

字符串str,作爲處理數字類型外,python中最重要的常用類型之一,有很多內置函數,常用的str內置函數如下:
capitalize(): 將字符串中第一個字符大寫
center(width):  返回一個長度至少爲width的字符串,並使元字符串的內容居中
count(str, beg=0, end=len(string)):  返回str在string裏面出現的次數,可以用開始索引beg和結束索引end指定搜索的範圍
decode(encoding='UTF-8', errors='strict'):  以encoding指定的編碼格式解碼string
encode(encoding='UTF-8', errors='strict'):  以encoding指定的編碼格式編碼string
endswitch(obj, beg=0, end=len(string))b,e:  檢查字符串是否以obj結束,如果是,返回True,否則返回False;beg和end指定索引範圍
expandtabs(tabsize=8):  把字符串string中的tab符號轉成空格,默認的空格數tabsize是8
find(str, beg=0, end=len(string)):  檢測str是否包含在string中,beg和end指定範圍
index(str, beg=0, end=len(string)):  和find類似,如果str不在string中,則報一個異常
isalnum():  如果發現有一個字符,並且所有字符都是字母或數字,則返回True,否則返回False
isalpha():  如果發現有一個字符並且所有字符都是字母,則返回True,否則返回False
isdecimal():  如果可解釋爲十進制數字,則返回True,否則返回False
isdigit():  如果可解釋爲數字,則返回True,否則返回False
islower():  如果字符串中字符都是小寫,則返回True,否則返回False
isnumeric():  如果可解釋爲字符,則返回True,否則返回False
isspace():  如果字符串是空格,則返回True,否則返回False
istitle():  如果字符串是標題化的,則返回True,否則返回False
isupper():  如果字符串中的字符都是大寫的,則返回True,否則返回False
ljust(width):  返回一個原字符串左對齊,並使用空格填充至長度width的新字符串
lower():  轉換所有大寫字符爲小寫
lstrip():  截掉string左邊的空格
replace(str1, str2, num=count(str1)):  把string中str1替換成str2,num指定替換的最大次數
rfind(str, beg=0, end=len(string)):  類似於find,但是從右邊開始查找
rindex(str, beg=0, end=len(string)):  類似於find,但是從右邊開始查找
rjust(width):  返回一個原字符串右對齊,並使用空格填充至長度width的新字符串
rpartition(str)e:  類似於partition,但是從右邊開始查找
rstrip():  刪除string字符串末尾的空格
split(str="", num=count(str)):  以str爲分割符切片string,如果num有指定的值,則分割num個字符串
splitlines(num=count('
')):  按照行分割,返回一個包含各行作爲元素的列表,如果num已經指定,則進切片num個行
startswith(obj, beg=0, end=len(string)):  檢查字符串是否以obj開頭,則返回True,否則返回False
strip([obj]):  在string上執行lstrip()和 rstring()
swapcase():  翻轉string中的大小寫
title:  將字符串標題化,即所有單詞都以大寫開始,其餘字母爲小寫
translate(str, del=""):  根據str給出的錶轉換string的字符,將要過濾的字符,放到del參數中
upper():  轉換string中的小寫字母爲大寫
zfill(width):  返回長度爲width的字符串,原字符串string右對齊,前面填充0
Hello World
['hello', 'world']

tuple元組類型,是一種特殊的序列類型,用圓括號()表示,在不同元素間,用逗號隔開。
python中元組的大小和其中的元素在初始化之後,就不能修改,所以速度也比可以修改的列表list類型操作速度快。
如果需要定一個值的常量集,並且唯一操作就是不斷的讀取,這時用元組truple就非常合適了。
元組tuple的操作方法,用()定義後,基本上用序列類型的通用操作方法即可。
Englist
(456, 'Englist', 9.56)
('you', 456, 'Englist', 9.56, 3, 'you and me')
6

列表list,是一種常用的sequence類型,用中括號[]表示,不同元素間,用逗號隔開。
python中,list的大小和其中的元素在初始化後,可以被再次修改,這是列表list類型和元組tuple類型的主要區別。
如果開發中需要定義一組值,並且之後需要不斷地進行增、刪、改等操作,就比較合適用列表list類型了。
列表list用[]定義後,可以用序列的通用操作方法,也可以用專門針對list列表類型的內置函數操作。
Englist
[567, 'Englist', 7.56]
['you', 567, 'France', 7.56]
4
[7.56, 567, 'France', 'you']
['you', 567, 'France', 7.56]
72

除了序列的通用操作外,列表list專門的內置函數有:
append(obj):  在list最後一位添加一個對象
count(obj):  計算讀象在list中出現的次數
extend(seq):  把序列seq的內容添加到list中
index(obj, i=0, j=len(list)):  計算對象obj在列表中的索引位置
insert(index, obj):  把讀象插入到index指定的位置
pop(index=-1):  讀取並刪除index位置的讀寫,默認爲最後一個對象
remove(obj):  從列表中刪除對象obj
reverse():  獲得反向列表
list.sort(func=None, key=None, reverse=False)b:   以指定的方式排序列表中的成員
1
[3, 9, 8, 16, 7, -6, 55, -2]

集合set類型,是一個數學概念,表示相互之間無序的一組對象。集合不是序列(數組),所以是沒有序號和位置索引的概念的。
python中集合分爲兩種,普通集合和不可變集合,普通集合用set定義,可以用string或list進行初始化;不可變集合用frozenset定義。
集合在算術上的運算,包括並集、交集、補集等,普通集合在初始化後,支持並集、交集、補集等運算;不可變集合初始化後,就不能改變。
set(['a', 'e', 'd', 'n', 's', 'r', 'u', 't'])
set([0, 3, 7, 'python', -1.3, 'English'])
frozenset([0, 3, 7, 'python', -1.3, 'English'])

根據集合的定義,在python中,對集合set類型,也有操作符和內置函數兩種操作方式。
python中常用的集合操作符有:
in    判斷包含關係
not in  判斷不包含關係
==  判斷等於
!=  判斷不等於
<   判斷絕對子集關係
<=  判斷非絕對子集關係
>   判斷絕對超集關係
>=  判斷非絕對超集關係
&   交運算
|   並運算
-   差運算
^   對稱差運算
|=  執行並運算並賦值
&=  執行交運算並賦值
-=  執行差運算並賦值
^=  執行對稱差運算並賦值
True
False
set([0, 'python', -1.1, 4, 'English'])
set([6])
frozenset([0, 4, 6, 'python', 9, 'Englist', 'English', -1.1])

可變集合set類型,除了操作符,還可以用內置函數進行集合的增、刪、改等操作,函數如下:
add():  增加新元素
update():  用序列更新集合,序列的每個元素都被添加到集合中
remove(element):  刪除元素
set([0, 4, 6, 'python', -1.3, 'China', 'English'])
set([0, 'a', 'c', 4, 6, 'F', 'python', -1.3, 'n', 'r', 'China', 'English', 'e'])
set([0, 'a', 'c', 4, 6, 'F', 'python', 'n', 'r', 'China', 'English', 'e'])

字典Dictionary類型,用大括號{}表示,代表一個key/value 存儲庫,這種鍵/值存儲庫工作方式很像映射表,鍵值映射之間用逗號隔開。
給定一個鍵key,可以在一個字典dict對象中搜索該鍵對應的值,因此字典被認爲是key/value 鍵值對的列表。
字典dict類型比較特殊,所以定義方式也比較特殊,可以使用{key1:value, key2:value, ...}操作也使用內置函數直接操作。
{'Pages': 450, 'Language': 'English', 'Title': 'python book'}
python book
{'Date': '2010-12-25', 'Pages': 450, 'Language': 'English', 'Title': 'python book'}
{'Date': '2010-12-25', 'Pages': 450, 'Language': 'Chinese', 'Title': 'python book'}
{'Language': 'Chinese'}

python中,對字段dict類型常用的內置函數操作有:
clear():  清除字典中的所有鍵值對
copy():  複製字典的一個副本
fromkeys(seq, val=None)c:  用seq中的元素作爲鍵key創建字典,所有鍵的值都設爲 val,val默認爲None
get(key, default=None):  讀取字典中的鍵 key,返回該鍵的值;如果找不到該鍵,則返回default所設的值
has_key(key):  判斷鍵key在字典中是否存在,如果存在則返回true,否則返回false
items():  返回一個包含字典中 (鍵,值)對元組的列表
keys():  返回一個字典中的所有鍵的列表
iteritems():   返回對字典中所有 (鍵,值)對的迭代器
iterkeys():  返回對字典中所有鍵的迭代器
itervalues():  返回對字典中所有值的迭代器
pop(key[,default]):  讀取某鍵的值,並且從字典中刪除該鍵的值。如果鍵key不存在且沒有設置default,則引發keyerror異常
setdefault(key,default=None):  設置字典中鍵key的值爲default
update(dict):  合併字典
values():  返回一個包含字典張所有值的列表
python book
Anonymous
English
{'Pages': 450, 'Title': 'python book'}
{'Title': 'python book', 'Price': 32.0, 'Author': 'David', 'Pages': 409}
['python book', 32.0, 'David', 409]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章