Python基礎(chǔ)(二)

判斷語句

if-else

if 條件:
    滿足條件時要做的事情1
    滿足條件時要做的事情2
    滿足條件時要做的事情3
    ...(省略)...
else:
    不滿足條件時要做的事情1
    不滿足條件時要做的事情2
    不滿足條件時要做的事情3
    ...(省略)...

elif

if xxx1:
    事情1
elif xxx2:
    事情2
elif xxx3:
    事情3

注:elif可以和else搭配一起使用。

if xxx1:
    事情1
elif xxx2:
    事情2
else:
    事情3

if嵌套

if 條件1:

    滿足條件1 做的事情1
    滿足條件1 做的事情2
    ...(省略)...

    if 條件2:
        滿足條件2 做的事情1
        滿足條件2 做的事情2
        ...(省略)...

注:

  • 外層的if判斷霞丧,也可以是if-else
  • 內(nèi)層的if判斷呢岗,也可以是if-else
  • 根據(jù)實際開發(fā)的情況,進(jìn)行選擇

示例:

chePiao = 1     # 用1代表有車票蛹尝,0代表沒有車票
daoLenght = 9     # 刀子的長度后豫,單位為cm

if chePiao == 1:
    print("有車票,可以進(jìn)站")
    if daoLenght < 10:
        print("通過安檢")
    else:
        print("沒有通過安檢")
else:
    print("沒有車票突那,不能進(jìn)站")

循環(huán)語句

while循環(huán)

while 條件:
    條件滿足時挫酿,做的事情1
    條件滿足時,做的事情2
    條件滿足時愕难,做的事情3
    ...(省略)...

示例:

i = 0
while i<5:
    print("當(dāng)前是第%d次執(zhí)行循環(huán)"%(i+1))
    print("i=%d"%i)
    i+=1

while循環(huán)嵌套

while 條件1:

    條件1滿足時早龟,做的事情1
    條件1滿足時,做的事情2
    條件1滿足時猫缭,做的事情3
    ...(省略)...

    while 條件2:
        條件2滿足時葱弟,做的事情1
        條件2滿足時,做的事情2
        條件2滿足時猜丹,做的事情3
        ...(省略)...

示例:打印如下圖形

*
* *
* * *
* * * *
* * * * *

代碼:

i = 1
while i<=5:

    j = 1
    while j<=i:
        print("* ",end='')
        j+=1

    print("\n")
    i+=1

for循環(huán)

for 臨時變量 in 列表或者字符串等:
    循環(huán)滿足條件時執(zhí)行的代碼
else:
    循環(huán)不滿足條件時執(zhí)行的代碼

示例:

name = 'hello'

for x in name:
    print(x)

break和continue

  • break的作用:用來結(jié)束整個循環(huán)
  • continue的作用:用來結(jié)束本次循環(huán)芝加,緊接著執(zhí)行下一次的循環(huán)
  • break/continue只能用在循環(huán)中,除此以外不能單獨使用
  • break/continue在嵌套循環(huán)中射窒,只對最近的一層循環(huán)起作用

字符串

python中字符串的格式

如下定義的變量a藏杖,存儲的是字符串類型的值.

a = "hello"
或者
a = 'hello'

注:Python字符串雙引號或者單引號皆可

字符串輸出

a = 'hello'
print a

字符串輸入

  • Python2:raw_input()将塑、input()
  • Python3:input()

字符串的下標(biāo)

字符串實際上就是字符的數(shù)組,如果有字符串:name = 'abcdef',在內(nèi)存中的實際存儲如下:

如果想取出部分字符制市,那么可以通過下標(biāo)的方法(注意python中下標(biāo)從0開始):

name = 'abcdef'

print(name[0])
print(name[1])
print(name[2])

字符串的切片

切片是指對操作的對象截取其中一部分的操作抬旺。字符串、列表祥楣、元組都支持切片操作开财。
切片的語法:[起始:結(jié)束:步長],選取的區(qū)間屬于左閉右開型误褪,即從"起始"位開始责鳍,到"結(jié)束"位的前一位結(jié)束(不包含結(jié)束位本身)。

示例1:

name = 'abcdef'

print(name[0:3]) # 取 下標(biāo)0~2 的字符
print(name[0:5]) # 取 下標(biāo)為0~4 的字符
print(name[3:5]) # 取 下標(biāo)為3兽间、4 的字符
print(name[2:])  # 取 下標(biāo)為2開始到最后的字符
print(name[1:-1]) # 取 下標(biāo)為1開始 到倒數(shù)第2個之間 的字符

示例2:

 >>> a = "abcdef"
 >>> a[:3]
 'abc'
 >>> a[::2]
 'ace'
 >>> a[5:1:2] 
 ''
 >>> a[1:5:2]
 'bd'
 >>> a[::-2]
 'fdb' 
 >>> a[5:1:-2]
 'fd'

字符串常見操作

定義字符串mystr = 'hello world python2 and python3'历葛,以下是常見的操作。

find

檢測str是否包含在mystr中嘀略,如果是返回開始的索引值恤溶,否則返回-1。

mystr.find(str, start=0, end=len(mystr))

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.find("world")
6
>>> mystr.find("world", 0, 7)
-1

index

跟find()方法一樣帜羊,只不過如果str不在 mystr中會報一個異常

mystr.index(str, start=0, end=len(mystr)) 

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.index("world", 0, 7)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

count

返回 str在start和end之間 在 mystr里面出現(xiàn)的次數(shù)
跟find()方法一樣咒程,只不過如果str不在 mystr中會報一個異常

mystr.count(str, start=0, end=len(mystr))

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.count("python")
2

replace

把mystr中的str1替換成str2,如果count指定,則替換不超過count次讼育。執(zhí)行replace后帐姻,mystr不變

mystr.replace(str1, str2,  mystr.count(str1))

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.replace("python", "PYTHON",  mystr.count("python"))
'hello world PYTHON2 and PYTHON3'
>>> mystr.replace("PYTHON", "python", 1)
'hello world python2 and python3'
>>> mystr.replace("python", "PYTHON", 1)
'hello world PYTHON2 and python3'

split

以str為分隔符切片mystr奶段,如果maxsplit有指定值饥瓷,則僅分隔maxsplit 個以str為分隔子字符串,也就是maxsplit+1個字符串痹籍。

mystr.split(str=" ", maxsplit)    

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.split(" ")
['hello', 'world', 'python2', 'and', 'python3']
>>> mystr.split(" ", 2)
['hello', 'world', 'python2 and python3']

capitalize

把字符串的第一個字符大寫

>>> mystr = 'hello world python2 and python3'
>>> mystr.capitalize()
'Hello world python2 and python3'

title
把字符串的每個單詞首字母大寫

>>> a = "hello"
>>> a.title()
'Hello'

startswith

檢查字符串是否是以obj開頭, 是則返回True呢铆,否則返回False。

mystr.startswith(obj)

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.startswith("hello")
True
>>> mystr.startswith("Hello")
False

endswith

檢查字符串是否以obj結(jié)束词裤,如果是返回True,否則返回 False.

mystr.endswith(obj)

lower

轉(zhuǎn)換 mystr 中所有大寫字符為小寫

mystr.lower()  

upper
轉(zhuǎn)換mystr中的小寫字母為大寫

mystr.upper()    

ljust

返回一個原字符串左對齊,并使用空格填充至長度width的新字符串刺洒。當(dāng)width小于字符串長度,不會切片吼砂。

mystr.ljust(width) 

示例:

>>> mystr = "hello world"
>>> mystr.ljust(15)
'hello world    '
>>> mystr.ljust(6)
'hello world'

center

返回一個原字符串居中,并使用空格填充至長度 width 的新字符串

mystr.center(width)

lstrip

刪除mystr左邊的空白字符。

mystr.lstrip()

rstrip

刪除 mystr 字符串末尾的空白字符鼎文。

mystr.rstrip()

strip

刪除mystr字符串兩端的空白字符渔肩。

mystr.strip()

rfind

類似于find()函數(shù),不過是從右邊開始查找拇惋,查找到第一個符合的返回其地址周偎。

mystr.rfind(str, start=0, end=len(mystr))

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.rfind("python")
24

rindex

對應(yīng)的抹剩,類似于 index(),不過是從右邊開始蓉坎。

mystr.rindex( str, start=0,end=len(mystr))

partition

把mystr以str分割成三部分,str前澳眷,str和str后。

mystr.partition(str)

示例:

>>> mystr = 'hello world python2 and python3'
>>> mystr.partition('python')
('hello world ', 'python', '2 and python3')

rpartition

類似于partition()函數(shù),不過是從右邊開始蛉艾。

mystr.rpartition(str)

splitlines

按照行分隔钳踊,返回一個包含各行作為元素的列表。

mystr.splitlines()  

示例:

>>> mystr = 'hello\nworld'
>>> print mystr
hello
world
>>> mystr.splitlines()
['hello', 'world']

isalpha

如果mystr所有字符都是字母則返回True,否則返回False勿侯。

mystr.isalpha() 

isdigit

如果mystr所有字符都是數(shù)字則返回True,否則返回False拓瞪。

mystr.isdigit() 

isalnum

如果mystr所有字符都是字母或數(shù)字則返回True,否則返回False。

mystr.isalnum()

isspace

如果mystr中只包含空格助琐,則返回True祭埂,否則返回False。

mystr.isspace()

join

str中每個字符后面插入mystr,構(gòu)造出一個新的字符串兵钮。

mystr.join(str)

示例1:

>>> mystr = ' '
>>> str = 'abc'
>>> mystr.join(str)
'a b c'

示例2:

>>> mystr = ['xixi', 'haha']
>>> str = 'abc'
>>> str.join(mystr)
'xixiabchaha'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雏赦,一起剝皮案震驚了整個濱河市疙咸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖靴寂,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異征峦,居然都是意外死亡情屹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門酿箭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來复亏,“玉大人,你說我怎么就攤上這事缭嫡〉抻” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵妇蛀,是天一觀的道長耕突。 經(jīng)常有香客問我,道長评架,這世上最難降的妖魔是什么眷茁? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮纵诞,結(jié)果婚禮上上祈,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好登刺,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布籽腕。 她就那樣靜靜地躺著,像睡著了一般纸俭。 火紅的嫁衣襯著肌膚如雪皇耗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天揍很,我揣著相機(jī)與錄音郎楼,去河邊找鬼。 笑死女轿,一個胖子當(dāng)著我的面吹牛箭启,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛉迹,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼傅寡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了北救?” 一聲冷哼從身側(cè)響起荐操,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎珍策,沒想到半個月后托启,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡攘宙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年屯耸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹭劈。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡疗绣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铺韧,到底是詐尸還是另有隱情多矮,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布哈打,位于F島的核電站塔逃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏料仗。R本人自食惡果不足惜湾盗,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望立轧。 院中可真熱鬧淹仑,春花似錦丙挽、人聲如沸肺孵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽平窘。三九已至吓肋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑰艘,已是汗流浹背是鬼。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留紫新,地道東北人均蜜。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像芒率,于是被迫代替她去往敵國和親囤耳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理偶芍,服務(wù)發(fā)現(xiàn)充择,斷路器,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法匪蟀,類相關(guān)的語法椎麦,內(nèi)部類的語法,繼承相關(guān)的語法材彪,異常的語法观挎,線程的語...
    子非魚_t_閱讀 31,624評論 18 399
  • 原來我想當(dāng)女皇,我想被人疼段化。這并不矛盾嘁捷。
    穎仔心隨閱讀 138評論 0 0
  • 寫作本身沒有意義,一個個字 就像一塊塊磚穗泵,本身沒有意義普气,但是一塊塊磚經(jīng)過精心的建筑,可以變成我們暖暖的家佃延,可以變成...
    簡書愛好閱讀 532評論 0 51
  • 商業(yè)模式的第一個問題是價值主張履肃。先說說什么叫價值仔沿。我們生活中一般不叫“價值”,而叫物的價值分兩個方面尺棋,一個是生活中...