Python從零開始系列連載(12)——Python的基本運算和表達式(下)

前言

前文傳送門:

Python從零開始系列連載(1)——安裝環境

Python從零開始系列連載(2)——jupyter的常用操作(上)

Python從零開始系列連載(3)——jupyter的常用操作(中)

Python從零開始系列連載(4)——jupyter的常用操作(下)

Python從零開始系列連載(5)——Python的基本數據類型(上)

Python從零開始系列連載(6)——Python的基本數據類型(中)

Python從零開始系列連載(7)——Python的基本數據類型(中二)

Python從零開始系列連載(8)——Python的基本數據類型(下)

Python從零開始系列連載(9)——Python的基本運算和表達式(上)

Python從零開始系列連載(10)——Python的基本運算和表達式(中)

Python從零開始系列連載(11)——Python的基本運算和表達式(中二)

賦值運算

賦值,就是往盤子里放一些食品

在Python中,使用 = 表示賦值

一般形式為:

變數 = 表達式

這裡的 y = x 指的是將 x 變數的值複製一份給 y

關係運算符

關係運算符,說得通俗點就是作比較的比較運算符

還記得這個經典的比較的廣告么:

不知道這個孩子現在到底有多強了

比較運算通常是比較兩個數值型或者字元串型數據,然後返回一個布爾值

小明:老濕!什麼是布爾值?

布爾值就是bool值

它只有兩種可能,『真』或者是『假』

關係運算符有以下幾種:

> 大於

>= 大於或等於

<= 小於或等於

< 小於

== 等於(注意和賦值的 = 區分開)

!= 不等於

is 比較兩個引用是否指向了同一個對象(引用比較)

is not 比較兩個引用是否指向了不同對象(引用比較)

我們舉幾個例子看一下:

注意,在做數值比較的時候,這裡的True相當於1,False相當於0

甚至可以有這種操作:

我們繼續:

下面是見證奇蹟的時刻:

大家看到沒,is和==應該怎麼理解,怎麼區別呢?

Python中的對象包含三要素:id、type、value

其中id用來唯一標識一個對象,即在內存開闢了一塊空間暫時存放這個變數

type標識對象的類型,如之前說過的str,int,float等

value是對象的值

is判斷的是a對象是否就是b對象,是通過id來判斷的

==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的

我們再看看:

a和b的id是一樣的,就是說他們的值指的是同一個位置同一個值

而c的id和他們不一樣,c指向的值和他們不一樣

我們繼續:

剛才的沒有涉及到字元串的比較

字元串也可以比較大小

規則是:按照英文字母的排序進行比較

abcdefg...

流程是:

首先取兩個字元串的第1個字元比較,較大的字元所在的字元串更大

如果第一個字元相同,再取兩個字元串的第2個字元比較,較大的字元所在的字元串更大

其餘以此類推

如果比到最後都相同,則兩個字元串相等

如果某個字元串已經被比較完了,另一個還剩一部分,則剩一部分的字元串比較大

特別要注意的,如果是空字元串和非空字元串比較,空串小

我們舉例看一下:

是不是感覺自己萌萌噠

張嘴吃藥

再看個例子【邪魅一笑】

hhhhh,這個你知道么

是不是刷新了你的三觀

這是因為,這是Python中比較浮點數是否相等機制是他們的差距是否小於一個極小的值來判斷

所以是精度問題,你不要糾結啦~

等等

再給你看個寶貝

還可以這樣玩

我們解釋一下:

常用字元大小關係是:

空字元串<空格<0~9<A~Z<a~z<漢子

邏輯運算符

邏輯運算符有三種,與 或 非

and:邏輯『與』運算符,只有當and兩邊都是真,結果才是真

or:邏輯『或』運算符,只要當or一邊的是真的,結果就是真

not:邏輯非運算符,反轉邏輯值

我們看幾個例子:

表達式

值得注意的是:

當數值運算時,不同類型的數值會偷偷發生轉換類型,然後運算

當int與float運算時,int常常轉為float再計算

證明如下:

剛才運算得到的結果b是float了

運算符優先順序如下:

今天作業:按照我的操作走一遍(敢不敢換個其他的說法)

下課

人生苦短,我選Python

未完待續,連載中......

作者:王大偉 Python愛好者社區唯一小編,請勿轉載,謝謝。

出處:Python從零開始系列連載(12)--Python的基本運算和表達式(下)

配套視頻教程:Python3爬蟲三大案例實戰分享:貓眼電影、今日頭條街拍美圖、淘寶美食 Python3爬蟲三大案例實戰分享

公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。

加小編個人微信:tsdatajob ,跟作者互動,一起探討。

推薦閱讀:

為什麼感覺django裡面class based view很難呢?
關於python Django與Flask學習的一些疑惑?

TAG:Python | Python入门 | Python教程 |