-
使用list的
insert()
方法,insert()方法和append()方法不一樣,insert()方法需要兩個參數,分別是需要插入的位置,以及需要插入的元素。查看全部 -
在Python中,list提供了一系列的方法可以讓我們操作list中的元素,其中也包含了添加元素的方法。
第一個辦法是用append()
方法,把新同學追加到列表的末尾:查看全部 -
Python中raw字符串與多行字符串
如果一個字符串包含很多需要轉義的字符,對每一個字符都進行轉義會很麻煩。為了避免這種情況,我們可以在字符串前面加個前綴
r
,表示這是一個?raw?字符串,里面的字符就不需要轉義了。例如:r'\(~_~)/?\(~_~)/'
但是
r'...'
表示法不能表示多行字符串,也不能表示包含'
和?"
的字符串。如果要表示多行字符串,可以用
'''...'''
表示:'''Line?1?Line?2?Line?3'''
上面這個字符串的表示方法和下面的是完全一樣的:
'Line 1\nLine 2\nLine 3'
還可以在多行字符串前面添加
r
,把這個多行字符串也變成一個raw字符串:r'''Python?is?created?by?"Guido".?It?is?free?and?easy?to?learn.?Let's?start?learn?Python?in?imooc!'''
查看全部 -
Python的字符串
前面我們講解了什么是字符串。字符串可以用
' '
或者" "
括起來表示。如果字符串本身包含
'
怎么辦?比如我們要表示字符串I'm OK?
,這時,可以用" "
括起來表示:"I'm?OK"
類似的,如果字符串包含
"
,我們就可以用' '
括起來表示:'Learn?"Python"?in?imooc'
但是,如果字符串既包含
'
又包含"
怎么辦?這個時候,就需要對字符串中的某些特殊字符進行“轉義”,Python字符串用
\
進行轉義。要表示字符串
Bob said "I'm OK"
由于'
和"
會引起歧義,因此,我們在它前面插入一個\
表示這是一個普通字符,不代表字符串的起始,因此,這個字符串又可以表示為'Bob?said?\"I\'m?OK\".'
注意:轉義字符?
\
不計入字符串的內容中。常用的轉義字符還有:
\n
表示換行\t
?表示一個制表符\\
表示?\
?字符本身查看全部 -
Python的布爾類型
與運算
只有兩個布爾值都為 True 時,計算結果才為 True。
True?and?True?#?==>?True True?and?False?#?==>?False False?and?True?#?==>?False False?and?False?#?==>?False
或運算
只要有一個布爾值為 True,計算結果就是 True。
True?or?True?#?==>?True True?or?False?#?==>?True False?or?True?#?==>?True False?or?False?#?==>?False
非運算
把True變為False,或者把False變為True:
not?True?#?==>?False not?False?#?==>?True
計算機程序是由無數的邏輯分支組成的,通過布爾運算,可以在計算機中實現條件判斷,根據計算結果為True或者False,計算機可以自動執行不同的后續代碼。
在Python中,布爾類型還可以與其他數據類型(字符串,數字等)做 and、or和not運算,請看下面的代碼:
a?=?True print(a?and?0?or?99)?#?==>?99
得到的計算結果不是布爾類型,而是數字99,這是為什么呢?因為Python把0、空字符串和None看成False,其他數值和非空字符串都看成True,所以:
True and 0
計算結果是0?繼續計算
0 or 99
計算結果是 99?因此,結果是99。
需要注意的是,not計算的優先級是高于and和or的。True?and?not?False?#?==>?True
在上述布爾計算中,先計算
not False = True
,然后再計算True and True
,因此得到True的結果。短路計算
在計算
a and b
時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。在計算
a or b
時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
查看全部 -
判斷奇偶數
查看全部 -
sum取值在循環前或內以及print頂格或縮進都不相同
查看全部 -
Python的整數與浮點數
在Python中,整數和浮點數雖然屬于不同的數值類型,但是在運算上是可以一起運算的,這從生活經驗出發,也是可以理解的。
四則運算
整數、浮點數可以直接進行四則運算。
整數和浮點數運算后 ,得到的結果不管小數點后是否有值,結果都變成浮點數了,這是合理的,浮點數可以表達整數的結果,但是整數不能表達浮點數的結果。
在python2,得到的是一個整數的結果,這是因為除數和被除數都是整數時,得到的結果也默認保存為整數了,這是非常不科學的,因此在python3,改進了這一點。
取模運算
Python數字支持取模運算,使用百分號
%
表示取模。print(3?%?2)?#?==>?1 print(33?%?10)?#?==>?3 print(99?%?30)?#?==>?9
恰當使用取模運算,可以判斷一個數是否為偶數,當一個數對2取模結果為0時,則這個數為偶數,否則為奇數。
print(3?%?2)?#?==>?1?因此3為奇數 print(33?%?2)?#?==>?1?因此33為奇數 print(100?%?2)?#?==>?0?因此100為偶數
地板除
Python除了普通除法以外,還有一個特殊的除法被稱為
地板除
,對于地板除
,得到的結果會忽略純小數的部分,得到整數的部分,地板除使用//
進行。10//4?#?==>?2 10//2.5?#?==>?4.0 10//3?#?==>?3
小數點位數
使用Python計算小數的時候,經常需要保留小數點后若干位,可以使用round()函數來處理,這里先了解round的調用方式,使用兩個參數,第一個是需要保留小數點位數的數值,第二個是保留的位數。
num?=?10?/?3 print(num)?#?==>?3.3333333333333335 #?使用round保留兩位小數 round(num,?2)?#?==>?3.33
查看全部 -
元組和列表的區別:
1顯示上:元組用小括號,列表用中括號
2數據上:元組不能改變內部數據,是固定的 列表可以隨意改變內部數據
查看全部 -
#coding=utf-8(# coding: UTF-8)(?此調python3解釋器,python2使用ASCII編碼,帶有中文無法運行)
# Enter a code
age = 19
if age>=18:
? ? print('adult,'+str(age))
??
age = 19
if age>=18:
? ? year='adult,{}歲'
? ? result=year.format(age)
? ? print(result)
查看全部 -
什么是變量
在Python中,變量的概念基本上和初中代數的方程變量是一致的。例如,對于方程式 y=x*x ,x就是變量。當x=2時,計算結果是4,當x=5時,計算結果是25。
合法的變量名
在計算機程序中,變量不僅可以是數字,還可以是任意數據類型(字符串、布爾值、空值、字典等)。在Python中,定義一個變量需要遵循一定的約束,否則,Python可能識別不出它是一個變量。
變量名由大小寫英文字母、數字和下劃線
_
組成變量不能用數字開頭
變量盡量不要和Python關鍵字重合(比如前面學習過的:and、or、not,否則可能導致Python原有關鍵字發揮不出作用)
以下這些變量的定義都是合法的。
num,?count,?_none,?min_value
他們都滿足上面的三個條件。
以下這些變量的定義都是不合法的。
1num,?666,?1_cd,?and
定義變量
定義變量的方式很簡單,通過
變量名
?=?數據
,即可定義一個變量。
舉個例子:a?=?1
在這個例子里面,
a
就是變量,它的值是一個整數1。hello?=?'Hello'
在這個例子里面,
hello
就是變量,它的值是一個字符串'Hello'。
在Python里面,一個變量可以先后存儲多種不同類型的數據。a?=?1?#?這個時候a存儲的是整數類型 print(a) a?=?'ABC'?#?這個時候a存儲的是字符串類型 print(a)
這是Python這類語言特有的特性,我們稱之為動態語言.
Python、Javascript等等都是動態語言,Java、C、C++等等屬于靜態語言。
查看全部 -
若有重復命令,可考慮用for循環:
①原代碼
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key,value in d.items():
? ? ? ? print(key,value[0])
? ? ? ? print(key,value[1])
? ? ? ? print(key,value[2])
------
②for循環優化代碼
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key, value in d.items():
? ? for score in value:
? ? ? ? print(key, score)
查看全部 -
在Python中,能夠直接處理的數據類型有以下幾種:
整數:整數和我們生活中定義的整數是一個概念,Python可以處理任意大小的整數。對于整數,除了生活中常用的十進制以外,計算機由于使用二進制,所以,在計算機中也常用二進制或者十六進制表示整數。相比十進制數,在Python中使用以下方式表示二進制數和十六進制數。
浮點數:浮點數對應我們生活的是小數。為什么小數在計算機領域被稱為浮點數呢?這是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的(浮動的),因此稱為浮點數。浮點數可以用數學寫法,如
1.23
,3.14
,-9.01
。但是對于很大或很小的浮點數,就必須用科學計數法表示,在Python中,把10用e替代,比如:1.23x10^9
就是1.23e9
,或者12.3e8
,0.000012
可以寫成1.2e-5。還有
一點就是,整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的,而浮點數運算則可能會有四舍五入的誤差。字符串:字符串對應生活中的就是非數字類型的內容,比如一個句子,一段話,在Python中就是字符串,在Python中,字符串是以''或""括起來的任意文本,比如'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。
布爾值:布爾值對應于生活中的就是
對
和錯
,在計算機的世界里,大部分判斷都是非錯則對的,布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫,不需要使用字符串符號括起來),也可以通過布爾運算計算出來。布爾值可以用
and
、or
和not
運算(注意and
,or
,not
都是Python語言本身的關鍵字)。and
運算是與運算,只有所有都為 True,and運算結果才是 True。or
運算是或運算,只要其中有一個為 True,or 運算結果就是 True。not
運算是非運算,它是一個單目運算符,把 True 變成 False,False 變成 True。空值
空值是Python里一個特殊的值,用
None
表示。注意,None和0是不一樣的,None不能理解為0,因為0是有意義的,比如我有0個蘋果表示我沒有蘋果,0表達的是數值0的意思,而不能表示為我有None個蘋果,None是一個特殊的空值。
查看全部 -
Tuple 內的元素改變,需要賦值給一個變量,改變這個變量來改變其值,不能直接改變查看全部
-
錯位插入:
L1=['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L2=[89,67,29,48,3]
n=1
for item in L2:
? ? L1.insert(n,item)
? ? n+=2
print(L1)
查看全部
舉報