版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3696962
Python學習筆記(4)
1)Python Objects
所有的Python對象都有下列三個特征:
id:對象間互相差別的唯一辨別符。任何對象的id均可通過内建的id()函數獲得,其值為記憶體位址。
類型:對象的類型訓示對象能保持的類型、能應用的操作。可使用内建的type()函數顯示對象的類型。
值:對象表示的資料項。
确定的Python對象有熟悉、資料值或可執行代碼(如方法)等。
2)标準類型
· 數字(4種單獨的子類型)
-Regular或純整數
-長整數
-浮點實數
-複雜數
· 字元串String
· 清單List
· 元組Tuple
· 字典Dictionary
标準類型也作為原始資料類型。在Python中,标準資料類型不是類,是以建立整數和字元串時不涉及執行個體化。還意味着你不能子類化一個标準類型。
3)其它内建類型
· Type類型
· None空
· File檔案
· Function函數
· Module子產品
· Class類
· Class Instance類執行個體
· Method方法
Types和内建的type()函數
type()内建函數:得到對象并傳回其類型。
>>> type(4)
<type 'int'>
>>> type('Hello world!')
<type 'str'>
>>> type (type(4))
<type 'type'>
4)None
Python有一個特殊的None對象,它僅有一個值,None。None值等同于C語言的null。None沒有屬性,總等于布爾值的false。
5)内部類型
-Code
Code對象是位元組編譯的Python源碼的可執行塊,通常通過調用内建函數compile()傳回值。
此對象通過exec或内建函數eval()執行。
-Frame
Frame對象包含Python解釋器在Runtime執行環境所需的所有資訊。
-Traceback
Traceback對象是一資料項,存儲異常建立或出現時的堆棧跟蹤資訊。
-Slice
當使用Python擴充slice文法時,将建立Slice對象。此擴充文法允許不同的索引類型。這些索引類型包括步距(stride)索引、多元(multi-dimensional)索引,以及使用省略(Ellipsis)類型的索引。
-Ellipsis
當使用擴充slice符号時,使用Ellipsis對象。
-Xrange
Xrange對象通過内建函數xrange()建立。
6)标準操作類型
f1和f2引用同一對象:f1 = f2 = 4
f1和f2引用不同對象:f1 = 4; f2 = 3+1
7)内建函數标準類型
cmp(obj1, obj2):比較obj1和obj2的值,傳回值為:-1,0,1。
repr(obj):obj轉換為字元串,且兩邊加上“'”符号。
str(obj):obj轉換為字元串。
type(obj):檢視類型。
import string
alphas = string.letters+'_'
nums = string.digits
print alphas
print nums
print 'Welcome to the Identifier Checker v1.0'
print 'Testees must be at least 2 chars long.'
inp = raw_input('Identifier to test?')
if len(inp)>1:
if inp[0] not in alphas:
print '''invalid: first symbol must be alphabetic'''
else:
for otherChar in inp[1:]:
if otherChar not in alphas + nums:
print '''invalid: remaining symbols must be alphanumeric'''
break
else:
print "okey as an identifier"
8)String的内建方法
string.capitalize() 大寫字元串的第一個字母
string.center(width) 字元串以給定寬度顯示,如長度不足,兩邊補充空格
string.count(str,beg=0,end=len(string)) 計算str在字元串中出現的次數
string.encode(encoding='UTF-8', errors='strict') 字元串轉換編碼,error還有ignore或replace
string.endswith(str,beg=0,end=len(string)) 檢視字元串是否以str結尾
string.expandtabs(tabsize=8) 傳回字元串,其所有/t用空格代替
string.find(str, beg=0,end=len(string)) 檢視子字元串,如子串未發現則傳回-1
string.index(str, beg=0,end=len(string)) 同find(),但子串未發現則傳回ValueError
string.isalpha() 字元串所有字母均為字元則傳回真
string.isdigit() 字元串至少有1個字元,且所有字元均為數字,則傳回真
string.islower() 判斷字元串所有字元是否小寫
string.isspace() 判斷字元串是否為空格
string.istitle()
string.issupper()
string.lower() 轉換所有大寫字母為小寫
string.replace(str1,str2,num=string.count(str1)) 在字元串中用str2替換str1
string.split(str="",num=string.count(str))
string.upper() 轉換所有小寫字母為大寫
例子:
>>> quest = 'what is your favorite color?'
>>> quest.capitalize()
'What is your favorite color?'
>>> quest.count('or')
2
>>> quest.endswith('blue')
False
>>> quest.endswith('color')
>>> quest
'what is your favorite color?'
>>> quest.endswith('color?')
True
>>> quest.find('or',30)
-1
>>> quest.find('or',22)
25
>>> quest.index('or',10)
16
>>> ':'.join(quest.split())
'what:is:your:favorite:color?'
>>> quest.upper()
'WHAT IS YOUR FAVORITE COLOR?'