2018-07-18

作業(yè):

作業(yè)01

name = 'zdq'
print(name+":"+"\"Hello Eric, would you like to learn some Python today?\"")

結(jié)果:



作業(yè)02
name = 'zdq'
print(name.title())
print(name.upper())
print(name.lower())

結(jié)果:
Zdq
ZDQ
zdq
[Finished in 0.1s]


作業(yè)03
name = 'zdq'
print("%s說:"%(name)+"“日本是中國的窿凤∧昧茫”")

結(jié)果:
zdq說:“日本是中國的剩愧。”
[Finished in 0.1s]

作業(yè)04
famous_person = "ZDQ"
message = "吼吼恐锣,那是飯"
print(famous_person+':'+message)

結(jié)果:
ZDQ:吼吼,那是飯
[Finished in 0.1s]

作業(yè)05-1
name = "zdq"
new_name = name.center(20,'*')
print(new_name)
print(new_name.lstrip('*'))
print(new_name.rstrip('*'))
print(new_name.strip('*'))
結(jié)果:
********zdq*********
zdq*********
********zdq
zdq
[Finished in 0.1s]

作業(yè)05-2
name = "\tzdq\n\tZDQ"
print(name)
print(name.lstrip())
print(name.rstrip())
print(name.strip())
結(jié)果: zdq
    ZDQ
zdq
    ZDQ
    zdq
    ZDQ
zdq
    ZDQ
[Finished in 0.1s]

小結(jié)

上午:

1.什么是字符串

a.使用單引號或者雙引號括起來的字符集就是字符串舞痰。

b.引號中單獨的符號土榴、數(shù)字、字母等叫字符

c.轉(zhuǎn)義字符:可以用來表示一些有特殊功能或者是特殊意義的字符(通過在固定的字符前加\)
' -> '
\ ->
\n -> 換行
\t -> 制表符
" -> "
在計算字符串長度的時候匀奏,轉(zhuǎn)義字符代表一個字符

'123' # 數(shù)字字符串
'ahcn'
'^7&#sj'
'中文漢字'
' '
str2 = '\'
print(str2)
str1 = '床前明月光鞭衩,\t疑是地上霜学搜。'
print(str1)

2.阻止轉(zhuǎn)義

可以通過在字符串前面加r或者R,來阻止轉(zhuǎn)義字符轉(zhuǎn)義
str1 = r'\1\n2'
print(str1)

3.python中字符串中的字符是Unicode編碼

Unicode編碼:使用16位對一個字符進行編碼娃善。編碼的目的是讓字符可以存儲到計算機中。(2^16 = 65536 111)
Unicode碼中包含了ASSCII碼瑞佩,并且可以表示世界上所有的語言和符號

a.獲取一個字符的Unicode碼 用ord
ord1 = ord('余')
ord2 = ord('婷')
ord3 = ord('A')
print(hex(ord1), hex(ord2), ord3)

b.將Unicode碼轉(zhuǎn)換成字符用chr
chr(編碼值)
print(chr(0x4eff))

字符串比較大小的時候,從字符開始依次往后比較每個字符的大小聚磺,直到遇到字符不一樣為止。
比較字符大小的時候炬丸,實質(zhì)比的是他們的編碼的大小
print('a' > '余b')

python的字符瘫寝,實質(zhì)是一個有序的字符序列。

1.獲取字符串長度:(長度->字符串中字符的個數(shù))

len是獲取序列長度的內(nèi)置函數(shù)

count = len('abc\n123')
print(count)

2.通過下標獲取字符串中的某一個字符

字符串中每個字符都對應(yīng)一個下標(索引)稠炬,我們可以通過索引值去獲取固定的字符: 字符串[索引值]
'abc' --> a:0, b:1, c:2
str1 = 'abc'
print(str1[0]) # a
print(str1[2]) # c

str2 = "dy\nup"
print(str2[4])

下標的范圍:0 ~ 字符串長度-1焕阿; -1 ~ -字符串長度
獲取字符的時候,索引值不能操作索引的范圍首启,否則會報IndexError

print(str1[3]) # IndexError: string index out of range
print(str1[-1]) # 獲取字符串str1中的最后的字符
print(str1[-3]) # 獲取字符串str1中的倒數(shù)第三個字符

3.獲取字符串中的部分字符(切片):
字符串[開始下標:結(jié)束下標] --> 獲取字符串中從開始下標到結(jié)束下標的字符(包含開始下標對應(yīng)的字符暮屡,不包含結(jié)束下標對應(yīng)的字符)
字符串[開始下標:結(jié)束下標:步進]

字符串[開始下標:結(jié)束下標] === 字符串[開始下標:結(jié)束下標:1]

a.開始和結(jié)束下標都有值:開始下標對應(yīng)的字符,要在結(jié)束下標對應(yīng)的字符前面(步進是正數(shù))
str3 = 'helol Python'
print(str3[6:12]) # Python
print(str3[-6:12]) # Python

** b.開始下標省略:從字符串的最前面取到結(jié)束下標前**
print(str3[:4])

** c.結(jié)束下標省略: 從開始位置獲取到字符串結(jié)束**
print(str3[4:])

e.兩個都省略: 獲取整個字符串的內(nèi)容
print(str3[:])

f:每兩個取一個
print(str3[::2]) # hloPto
(了解)
print(str3[4:1:-1]) # 3 3-1=2 1 0
print(str3[::-1]) # 字符串倒序

1. + : 字符串拼接

字符串1+字符串2

str1 = 'hello' +' '+'Python'
print(str1)

注意: + 號兩邊要么都是數(shù)字毅桃,要么都是字符串褒纲。不能是一個數(shù)字一個字符串
print(12+'34')

2. * : 讓字符串重復(fù)

字符串*整數(shù)
str1 = 'abc' * 3
print(str1)

str2 = 'a'*10
print(str2)

3. in

字符串1 in 字符串2 : 判斷字符串1是否在字符串2中 --> 在就是True,不在是Fasle
result = 'aa' in 'abaaac'
print(result)

4. not in

字符串1 not in 字符串2 : 判斷字符串1是否不在字符串2中 --> 不在就是True,在是False
result = '123' not in 'abc'
print(result)

5.格式字符串(占位符)

""格式: '占位符1占位符2'%(值1,值2)""
str1 = 'abc%s12%s3' % ('>>>','!!!')

print(str1)

%s --> 字符串占位符(格式符)
%d --> 整數(shù)占位符(格式符)
%f --> 浮點數(shù)占位符
%c --> 長度是1的字符串占位符(字符占位符)---可以給一個字符,也可以給字符的編碼值

str2 = '-%s-%d-%f-%c-%c-' % ('我是字符串',123,12.4,'k',97)
print(str2)

%.nf : 使用n值限制小數(shù)點后面的小數(shù)的位數(shù)(默認六位小數(shù))
str3 = '金額:%.2f元' % (100)
print(str3)

如果后面沒有加%钥飞,那么這個字符串只是一個普通的字符串
str3 = '金額L%f元'
print(str3)

%x和%X --> 十六進制數(shù)據(jù)占位符
number = 15
XXX的十六進制是XXXXX
str4 = '%d的十六進制是0X%x' % (number, number)
print(str4)

6.格式化輸出

name = '路飛'
age = 17
xx今年xx歲
print('%s今年%d歲' % (name, age))
print('%x' % (id(name)))

下午:

字符串相關(guān)方法:

字符串相關(guān)方法的通用格式: 字符串.函數(shù)()

# 1.capitalize:將字符串的首字母轉(zhuǎn)換成大寫字母莺掠,并且創(chuàng)建一個新的字符串返回
str1 = 'abc'
new_str = str1.capitalize()
print(str1, new_str)
結(jié)果:
abc Abc


# 2.center(width, fillchar): 將原字符串變成指定的長度并且內(nèi)容居中,剩下的部分使用指定的字符填充
new_str = str1.center(7, '!')
print(str1, new_str)

結(jié)果:
abc !!abc!!


# 3.rjust(width, fillchar): 右對齊读宙,將原字符串變成指定的長度并且內(nèi)容右對齊彻秆,剩下的部分使用指定的字符填充
new_str = str1.rjust(7,'*')
print(new_str)

結(jié)果:
****abc

# 產(chǎn)生學(xué)號
number = 19  # py1805009
# str(數(shù)據(jù)): 將任何其他的數(shù)據(jù)轉(zhuǎn)換成字符串 
num_str = str(number)
print(num_str, type(num_str))
結(jié)果:19 <class 'str'>
# 讓字符串變成寬度為3,內(nèi)容右對齊结闸,剩下部分使用‘0’填充
new_str = num_str.rjust(3, '0')
print(new_str)

結(jié)果:019
new_str = 'py1805'+new_str
print(new_str)
結(jié)果:py1805019

# 4.ljust(width, fillchar): 左對齊唇兑,將原字符串變成指定的長度并且內(nèi)容左對齊,剩下的部分使用指定的字符填充


# "123.56" '-120'

# 5.字符串1.join(字符串2): 在字符串2中的每個字符之間插入一個字符串1
new_str = '123'.join('bbb')
print(new_str)

結(jié)果:b123b123b
# 6.
print(max('abcZ'))
結(jié)果:c

if語句

結(jié)構(gòu):

if 條件語句:
條件語句結(jié)果為True執(zhí)行的代碼塊

執(zhí)行過程:先判斷條件語句是否為True,如果為True就執(zhí)行if語句后:后面對應(yīng)的一個縮進的所有的代碼膀估。
為False,就不執(zhí)行冒號后面一個縮進中的代碼塊幔亥,直接執(zhí)行后續(xù)的其他語句

條件語句:可以是任何有值的表達式,但是一般是布爾值

if:關(guān)鍵字

if False:
print('代碼1') (不執(zhí)行)
print('代碼2')(不執(zhí)行)
print('代碼3')(不執(zhí)行)

print('代碼4')(執(zhí)行)

練習(xí):用一個變量保存時間(50米短跑),如果時間小于8秒察纯,打印及格

time = 7

if time < 8:
    print('及格')  # 只有條件成立的時候才會執(zhí)行

print(time)  # 不管if語句的條件是否帕棉,這個語句都會執(zhí)行


if 條件語句:
語句塊1
else:
語句塊2

*執(zhí)行過程:先判斷條件語句是否為True,如果為True就執(zhí)行語句塊1针肥,否則執(zhí)行語句塊2

練習(xí):用一個變量保存成績,如果成績大于等于60,打印及格香伴,否則打印不及格


if score >= 60:
    print('及格')
else:
    print('不及格')

備用

Python字符串格式化

Python 支持格式化字符串的輸出 慰枕。盡管這樣可能會用到非常復(fù)雜的表達式,但最基本的用法是將一個值插入到一個有字符串格式符 %s 的字符串中即纲。

在 Python 中具帮,字符串格式化使用與 C 中 sprintf 函數(shù)一樣的語法。

print ("我叫 %s 今年 %d 歲!" % ('小明', 10))  

python字符串格式化符號:

|符號|描述|

|---|---|

%c | 格式化字符及其ASCII碼

%s | 格式化字符串

  %d| 格式化整數(shù)
  %u    | 格式化無符號整型
  %o    | 格式化無符號八進制數(shù)
  %x    | 格式化無符號十六進制數(shù)
  %X    | 格式化無符號十六進制數(shù)(大寫)
  %f    | 格式化浮點數(shù)字低斋,可指定小數(shù)點后的精度
  %e    | 用科學(xué)計數(shù)法格式化浮點數(shù)
  %E    | 作用同%e蜂厅,用科學(xué)計數(shù)法格式化浮點數(shù)
  %g    | %f和%e的簡寫
  %G    | %f 和 %E 的簡寫
  %p     |用十六進制數(shù)格式化變量的地址

--
Python 的字符串內(nèi)建函數(shù)

Python 的字符串常用內(nèi)建函數(shù)如下:

|序號|方法|描述|

|---|---|---|

1 |capitalize()|將字符串的第一個字符轉(zhuǎn)換為大寫

2| center(width, fillchar)|返回一個指定的寬度 width 居中的字符串,fillchar 為填充的字符膊畴,默認為空格掘猿。

3| count(str, beg= 0,end=len(string))|返回 str 在 string 里面出現(xiàn)的次數(shù),如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)

4| bytes.decode(encoding="utf-8", errors="strict")|Python3 中沒有 decode 方法唇跨,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象稠通,這個 bytes 對象可以由 str.encode() 來編碼返回。

5| encode(encoding='UTF-8',errors='strict')|以 encoding 指定的編碼格式編碼字符串买猖,如果出錯默認報一個ValueError 的異常改橘,除非 errors 指定的是'ignore'或者'replace'

6| endswith(suffix, beg=0, end=len(string))|檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束玉控,如果是飞主,返回 True,否則返回 False.

7| expandtabs(tabsize=8)|把字符串 string 中的 tab 符號轉(zhuǎn)為空格,tab 符號默認的空格數(shù)是 8 奸远。

8| find(str, beg=0 end=len(string))|檢測 str 是否包含在字符串中既棺,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內(nèi)懒叛,如果包含返回開始的索引值丸冕,否則返回-1

9| index(str, beg=0, end=len(string))|跟find()方法一樣,只不過如果str不在字符串中會報一個異常.

10| isalnum()|如果字符串至少有一個字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False

11| isalpha()|如果字符串至少有一個字符并且所有字符都是字母則返回 True, 否則返回 False

12 |isdigit()|如果字符串只包含數(shù)字則返回 True 否則返回 False..

13 |islower()|如果字符串中包含至少一個區(qū)分大小寫的字符薛窥,并且所有這些(區(qū)分大小寫的)字符都是小寫胖烛,則返回 True,否則返回 False

14 |isnumeric()|如果字符串中只包含數(shù)字字符诅迷,則返回 True佩番,否則返回 False(中文數(shù)字也可以)

15 |isspace()|如果字符串中只包含空白,則返回 True罢杉,否則返回 False.

16| istitle()|如果字符串是標題化的(見 title())則返回 True趟畏,否則返回 False

17|isupper()|如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫滩租,則返回 True赋秀,否則返回 False

18| join(seq)|以指定字符串作為分隔符利朵,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串

19| len(string)|返回字符串長度

20| ljust(width[, fillchar])|返回一個原字符串左對齊,并使用 fillchar 填充至長度 width 的新字符串,fillchar 默認為空格猎莲。

21 |lower()|轉(zhuǎn)換字符串中所有大寫字符為小寫.

22 |lstrip()|截掉字符串左邊的空格或指定字符绍弟。

23| maketrans()|創(chuàng)建字符映射的轉(zhuǎn)換表,對于接受兩個參數(shù)的最簡單的調(diào)用方式著洼,第一個參數(shù)是字符串樟遣,表示需要轉(zhuǎn)換的字符,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標身笤。

24 |max(str)|返回字符串 str 中最大的字母豹悬。

25| min(str)|返回字符串 str 中最小的字母。

26 |replace(old, new [, max])|把 將字符串中的 str1 替換成 str2,如果 max 指定展鸡,則替換不超過 max 次屿衅。

27 |rfind(str, beg=0,end=len(string))|類似于 find()函數(shù)埃难,不過是從右邊開始查找.

28 |rindex( str, beg=0, end=len(string))|類似于 index()莹弊,不過是從右邊開始.

29| rjust(width,[, fillchar])|返回一個原字符串右對齊,并使用fillchar(默認空格)填充至長度 width 的新字符串

30 |rstrip()|刪除字符串字符串末尾的空格.

31 |split(str="", num=string.count(str))|num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值涡尘,則僅截取 num 個子字符串

32 |splitlines([keepends])|按照行('\r', '\r\n', \n')分隔忍弛,返回一個包含各行作為元素的列表,如果參數(shù) keepends 為 False考抄,不包含換行符细疚,如果為 True,則保留換行符川梅。

33 |startswith(str, beg=0,end=len(string))|檢查字符串是否是以 obj 開頭疯兼,是則返回 True,否則返回 False贫途。如果beg 和 end 指定值吧彪,則在指定范圍內(nèi)檢查。

34 |strip([chars])|在字符串上執(zhí)行 lstrip()和 rstrip()

35 |swapcase()|將字符串中大寫轉(zhuǎn)換為小寫丢早,小寫轉(zhuǎn)換為大寫

36 |title()|返回"標題化"的字符串,就是說所有單詞都是以大寫開始姨裸,其余字母均為小寫(見 istitle())

37 |translate(table, deletechars="")|根據(jù) str 給出的表(包含 256 個字符)轉(zhuǎn)換 string 的字符, 要過濾掉的字符放到 deletechars 參數(shù)中

38 |upper()|轉(zhuǎn)換字符串中的小寫字母為大寫

39 |zfill (width)|返回長度為 width 的字符串,原字符串右對齊怨酝,前面填充0

40 |isdecimal()|檢查字符串是否只包含十進制字符傀缩,如果是返回 true,否則返回 false农猬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赡艰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子斤葱,更是在濱河造成了極大的恐慌慷垮,老刑警劉巖勋又,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異换帜,居然都是意外死亡楔壤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門惯驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹲嚣,“玉大人,你說我怎么就攤上這事祟牲∠缎螅” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵说贝,是天一觀的道長议惰。 經(jīng)常有香客問我,道長乡恕,這世上最難降的妖魔是什么言询? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮傲宜,結(jié)果婚禮上运杭,老公的妹妹穿的比我還像新娘。我一直安慰自己函卒,他們只是感情好辆憔,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著报嵌,像睡著了一般虱咧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锚国,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天腕巡,我揣著相機與錄音,去河邊找鬼跷叉。 笑死逸雹,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的云挟。 我是一名探鬼主播梆砸,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼园欣!你這毒婦竟也來了帖世?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎日矫,沒想到半個月后赂弓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡哪轿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年盈魁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窃诉。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡杨耙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出飘痛,到底是詐尸還是另有隱情珊膜,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布宣脉,位于F島的核電站车柠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏塑猖。R本人自食惡果不足惜竹祷,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萌庆。 院中可真熱鬧溶褪,春花似錦、人聲如沸践险。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巍虫。三九已至,卻和暖如春鳍刷,著一層夾襖步出監(jiān)牢的瞬間占遥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工输瓜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓦胎,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓尤揣,卻偏偏與公主長得像搔啊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子北戏,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一负芋、字符串 1.什么是字符串 a.使用單引號或者雙引號括起來的字符集就是字符串。 b.引號中單獨的符號或者數(shù)字或者...
    燒了回憶取暖丶閱讀 199評論 0 1
  • 一.認識字符串 1.什么是字符串 a.使用單引號或者雙引號括起來的字符集就是字符串嗜愈。 b.引號中單獨的符號旧蛾、數(shù)字莽龟、...
    我是小韭菜閱讀 271評論 0 1
  • iOS開發(fā)—單例模式 一、簡單說明: 設(shè)計模式:多年軟件開發(fā)锨天,總結(jié)出來的一套經(jīng)驗毯盈、方法和工具 二、單例模式說明 (...
    牛仔褲小毛驢閱讀 627評論 0 0
  • 七十三年五十帝 往事不經(jīng)意 著 第一章 復(fù)雜的人格——朱溫 第一節(jié) 白手起家 2 再說黃巢病袄,世代販鹽為生奶镶。鹽是人類...
    qqssl閱讀 300評論 0 0
  • RN調(diào)用iOS iOS準備工作: 首先要創(chuàng)建一個Object類PushNative(類名隨意,這個是橋接文件)陪拘,P...
    一往情深_b560閱讀 3,176評論 2 4