1. 基本對(duì)象類型(python里面一切皆是對(duì)象)
(接前文)
1.3 變量
? Python中重要特點(diǎn):對(duì)象有類型,變量無類型。定義變量時(shí)不需要指定類型,而是依據(jù)實(shí)際賦值等操作來確定數(shù)據(jù)類型。
? 變量名只能包含字母、數(shù)字和下劃線
? 變量名不能包含空格
? 不要將Python關(guān)鍵字、保留著、內(nèi)部函數(shù)名
? 下劃線隔開方式命名(或采用小駝峰命名法),類名采用大駝峰命名法
? 區(qū)分大小寫,X和x不同
1.4 字符串
1.4.1 字符串定義
用單引號(hào)或雙引號(hào)包含的內(nèi)容,字符串可以為任何能輸入的內(nèi)容,包括大/小字母、數(shù)字、特殊符號(hào)、各國語言對(duì)應(yīng)的文章,如中文。在Python3中,所有的字符串都是Unicode字符串。
序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。
序列中的每個(gè)元素都分配一個(gè)數(shù)字, 它的位置,或索引,第一個(gè)索引是0,第二個(gè)索引是1,依此類推。
字符串、列表和元組是最常見的序列。序列都可以進(jìn)行的操作包括索引,切片,加,乘,檢查成員。
Python已經(jīng)內(nèi)置確定序列的長度以及確定最大和最小的元素的方法。
1.4.2 字符串運(yùn)算符
1.4.2.1 用’+’號(hào)
示例:
>>> first_name = "connie"
>>> last_name = "guo"
>>> full_name = first_name + " " + last_name
>>> full_name
輸出 'connie guo'
示例:較長的print 語句打印多行字符串,使用”+”連接。
>>> print("Tom's favorite language is " +
? ? "favorite_languages Java" +
".")
選擇在合適的地方拆分要打印的內(nèi)容,并在第一行末尾加上一個(gè)拼接運(yùn)算符(+ )。按回車鍵進(jìn)入print 語句的后續(xù)各行,并使用Tab鍵將它們對(duì)齊并縮進(jìn)一級(jí)。
1.4.2.2 用*成倍復(fù)制
>>>name = "connie"
>>>full_name = name * 3
>>>full_name
輸出connieconnieconnie
1.4.2.3 字符串切片及賦值
[m : n ]截取字符串中的一部分,左閉右開原則。
[m : ]從第M到最后
[:n] 從第一個(gè)到第n(不包括索引n字符)
[:]:表示全部
[::-1]:反轉(zhuǎn)切片,即從右往左的視角切片
示例:
>>> str1='abc123'
>>> str1[2:4]? #輸出'c1'
>>> str1[4:2]? #輸出'',空
>>> str1[:4]? #輸出'abc1'
>>> str1[4:]? #輸出'23'
>>> str1[:]? #輸出'abc123'
>>> str1[::-1]? #反轉(zhuǎn)切片出'321cba'
>>> str1[4:2:-1] #輸出'21'
>>> str2=str1? #將一個(gè)字符串賦值給另外一個(gè)字符串,只是做了引用的copy
>>> str2? #輸出'abc123'
>>> id(str1)? #輸出48194224
>>> id(str2)? #輸出48194224 內(nèi)存地址相同
>>> str3 = str1[:]? #類似str3=str1
>>> str3? #輸出'abc123'
>>> id(str3)? #輸出48194224內(nèi)存地址相同
1.4.2.4 in /not in 成員運(yùn)算符
如果字符串中包含/不包含給定的字符返回 True,否則Flase
示例:
>>> str='123456'
>>> 'bc' in str? #返回True
說明:find()、index()方法也是判斷字符串中是否包含子串,但返回的是索引位置。
1.4.3 字符串索引
索引值以 0 為開始值,-1 為從末尾的開始位置。
如? ? a? b? c? d? e? f
索引值 0? 1? 2? 3? 4? 5
? ? ? -6? -5? -4? -3? -2? -1