python有没有三元运算符_Python基础入门:从变量到异常处理(1)
一、學習內容概括
二、具體學習內容
2.1 變量與運算符
2.2.1 注釋
1、 #
#:單行注釋,作用于整行。
2、 三引號
''' '''或者""" """:區間注釋,在三引號之間的內容均為注釋內容。
2.2.2 運算符
1、 算術運算符
算術運算符比較簡單,加減乘除就是常用法,最后三個對于初學者需要多加記憶一下。
2、 比較運算符
前四個比較運算符也屬于常用法,注意等號與不等號的表示方法。
3、邏輯運算符
邏輯運算符:and、or、not。邏輯運算符和比較運算符一樣,輸出都是True或False。
4、位運算符
位運算符有點難理解,具體見后文2.3的介紹。
5、三元運算符
三元操作符格式:exp1 if contion else exp2,化復雜為簡單。
6、其他運算符
注意:
(1)is, is not 對比的是兩個變量的內存地址;
(2)==, != 對比的是兩個變量的值;
(3)若比較的兩個變量,指向的都是地址不可變的類型(str等),那么is,is not 和 ==,!= 是完全等價的。
(4)若對比的兩個變量,指向的是地址可變的類型(list,dict,tuple等),則兩者是有區別的。
7、運算符的優先級
(1)一元運算符優于二元運算符。例如3 ** -2等價于3 ** (-2)。
(2)先算術運算,后移位運算,最后位運算。例如 1 << 3 + 2 & 7等價于 (1 << (3 + 2)) & 7。
(3)邏輯運算最后結合。例如3 < 4 and 4 < 5等價于(3 < 4) and (4 < 5)。
2.2.3 數據類型和轉換
1、變量和賦值
注意:
(1)使用變量之前,需要先賦值;
(2)變量名可以包括數字、字母和下劃線,但是不能以數字作為開頭;
(3)變量名對大小寫敏感。
2、數據類型和轉換
python里面萬物皆可對象。
(1)保留浮點型的小數點后 n 位
可以用 decimal 包里的 Decimal 對象和 getcontext() 方法來實現。Decimal 對象的默認精度值是 28 位 (prec=28)。
調整精度可以以這種方式:decimal.getcontext().prec = 4,等號后面的數字4可以變換。
(2)bool(X)創建變量
X 可以是,基本類型:整型、浮點型、布爾型;容器類型:字符串、元組、列表、字典和集合。
1)bool 作用在基本類型變量:X 只要不是整型 0、浮點型 0.0,bool(X) 就是 True,其余就是 False。
2)bool作用在容器類型變量:X 只要不是空的變量,bool(X) 就是 True,其余就是 False。
3)確定bool(X) 的值是 True 還是 False,就看 X 是不是空,空的話就是 False,不空的話就是 True。
對于數值變量,0, 0.0 都可認為是空的;對于容器變量,里面沒元素就是空的。
(3)獲取類型信息
type(object)。
注意:
(4)類型轉換
2.3 位運算符
2.3.1 原碼、反碼和補碼
2.3.2 按位運算
(1)按位非操作~
~把0和1全部取反,即0變成1,1變成0。
(2)按位與操作&
只有兩個對應位都為1時才為1。
(3)按位或操作|
兩個對應位有一個為1就為1。
(4)按位異或操作^
兩個對應位不同時才為1。
異或滿足交換律和結合律。
(5)按位左移操作<<
(6)按位右移操作>>
2.3.3 利用位運算實現快速計算
(1)通過<<,>>快速計算2的倍數
(2)通過^快速交換兩個整數
(3)通過a & (-a)快速獲取a的最后為1位置的數
2.3.4 利用位運算實現整數集合
一個數的二進制可以看作是一個集合,其中0表示不在集合中,1表示在集合中。
三、學習問題和解決方法記錄
最大的問題是在理解位運算上,代碼直接給出結果,一時不容易理解,就自己慢慢推導出來。
然后就是時間比較緊,有的代碼只是看懂了,并沒有實際操作一下,明天做task02的時候會順便操作下今天的代碼。
四、學習總結
鞏固了基礎知識,比如注釋、運算符、數據類型的轉換等。
加深了對位運算的理解,并學會運用。
學習到了新知識:保留浮點型的小數點后 n 位,可以用 decimal 包里的 Decimal 對象和 getcontext() 方法來實現。
總結
以上是生活随笔為你收集整理的python有没有三元运算符_Python基础入门:从变量到异常处理(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: a*算法流程图_单片机常用的13个C语言
- 下一篇: python 声明变量_Python的变