03-字串+變數

來源:互聯網
上載者:User

標籤:關係運算   結構   比較   tin   數學運算   語法錯誤   過程   比較子   組合   

字串
  • 逸出字元
  • 格式化
  • 內建函數(後延)
逸出字元
  • 用一個特殊的方法表示出一系列不方便寫出的內容,比如斷行符號鍵,換行鍵,退格鍵
  • 藉助反斜線字元,一旦字串中出現反斜線,則反斜線後面一個火幾個字元表示已經不是原來的意思了,進行了轉義
  • 在字串中,一旦出現反斜線就要加倍小心,可能由逸出字元出現
  • 不同系統對換行操作有不同的表示
    • windows: \n

      Linux: \r\n

字串的格式化
  • 把字串按照一定格式列印或者填充
  • 格式化由兩種方法
    • 利用百分比符號(%)

      利用format函數

利用百分比符號格式化
  • 在字串中,利用%表示一個特殊的含義,表示對字元進行格式化
  • %d: 此處應該放入一個整數
  • %s: 表示此處應該放入一個字串
In [12]:     
s = "I love %s"
# 下面列印,直接把%s作為字串的一個內容列印出來
print(s)
   
I love %s
In [13]:     
print("I love %s"%"wangxiaojing")
   
I love wangxiaojing
In [15]:     
print( s%"wangxiaojing")
   
I love wangxiaojing
In [18]:     
s = "I am %d years old"
# 留意下面兩句話的區別和結果
print(s)
print(s%18)
   
I am %d years oldI am 18 years old
In [22]:     
s = "I am %s, i am %d years old"
print(s)
# 注意以下表達的出錯原因
# 如果字串中由預留位置,則由幾個預留位置必須用幾個實際內容代替,或者一個也不要
#print(s%"tulingxueyuan")
?
# 如果出現多個預留位置,則相應內容需要用括弧括起來
print(s%("tulingxueyuan", 18))
   
I am %s, i am %d years oldI am tulingxueyuan, i am 18 years old
 format函數格式化字串
  • 直接用format函數進行格式化
  • 推薦使用這種方法
  • 在使用上,以{}和:代替%號,後面用format帶參數完成
In [25]:     
s = "I love {}".format("LiXiaojing")
print(s)
?
s = "Yes, i am {1} years old, I love {0} and i am {1} years old".format("Tulingxueyuan", 18)
print(s)
   
I love LiXiaojingYes, i am 18 years old, I love Tulingxueyuan and i am 18 years old
 None
  • 表示什麼都沒有
  • 如果函數沒有傳回值,可以返回 None
  • 用來佔位置
  • 用來接觸變數綁定
 運算式
  • 由一個或者幾個數字或者變數和運算子組合成的一行代碼
  • 通常會返回一個結果運算子
  • 由一個以上的值經過變化得到新值的過程就叫運算
  • 用於運算的符號叫運算子
  • 運算子分類:
    • 算數運算子
    • 比較或者關係運算子
    • 賦值運算子
    • 邏輯運算子
    • 位元運算
    • 成員運算
    • 身份運算子
 算數運算子
  • 進行算數運算的符號
  • python沒有自增自減運算子
In [32]:     
# +,-跟正常算術運算子一模一樣
a = 9+3-2
print(a)
# 乘號用星號(*)代替
a = 9 * 4
print(a)
# 除號用斜杠(/)代替
# 在Python2.x 和python3.x 中,除號(/)結果可能不一致,此處以3系列為準
a = 9/4
print(a)
?
?
# % 取餘運算
# 兩個數字相除應該有商數有餘數
# % 只會得到餘數
a = 9 % 4
print(a)
?
# // 表示取商運算,也叫地板除
a = 9 // 4
print(a)
?
# ** 表示冪運算
a = 9 ** 4
print(a)
?
a = 3 ** 3
print(a)
   
10362.2512656127
 比較子
  • 對兩個變數或者值進行比較的運算子
  • 比較的結果是布爾值,即True/False
In [35]:     
# == , 等號
a = 3 ** 4
# 下面語句執行書序是
# 1, 計算 a == 80
# 2. 把結果放入b中
b = a == 80
print(b)
?
?
# != 不等於
print( 9 != 8 )
?
# > 大於
# < 小於
# >= 大於等於
# <= 小於等於
   
FalseTrue
 賦值運算子In [37]:     
# = , 賦值
a = 0
c = a = 4
?
# +=, 是縮寫,
a = 0
a += 7 # a = a+ 7 的縮寫
print(a)
?
?
# 所有數學運算子都有縮寫形式
# -=, ×=, /=, //=, %=, **=,都是縮寫形式
   
7
 邏輯運算子
  • 對布爾值進行計算的符號
  • and 邏輯與
  • or 邏輯或
  • not 邏輯非
  • python中邏輯運算沒有異或運算
  • 運算規則:
    • and看做乘法, or看做加法,
    • True看做1, False看做0
    • 則邏輯運算就能轉換成整數數學運算
    • 最後結果如果是0則為False, 否則為True
  • 邏輯運算的短路問題
    • 邏輯運算式,按照運算順序計算,一旦能夠確定整個式子未來的值,則不再進行計算,直接返回
In [40]:     
# 邏輯運算子案例
a = True
b = False
c = True
?
# 以下式子等價於 d = 1 * 0 + 1
d = a and b or c
print(d)
?
?
d = a or b and a
print(d)
   
TrueTrue
In [43]:     
# 邏輯運算的短路案例
?
# 下面的邏輯運算式,a的值一定是True,則運行到or的時候,整個運算式不在向下計算
a = True or xxxxxxxxxxx
?
# 下面運算式,如果xxx中包含賦值運算式,則結果很難預期
# 程式碼範例(虛擬碼)
b = 0
a = a or (b=9) and 6
# 假定上面運算式如果沒有語法錯誤
# 則b最終的值應該是0而不是9
print(b)
print(a)
   
  File "<ipython-input-43-bb4253784911>", line 9    a = a or (b=9) and 6               ^SyntaxError: invalid syntax
 成員運算子號
  • 用來檢測某一個變數是否是另一個變數的成員
  • in
  • not in
In [47]:     
# 案例
l = [1,2,3,4,5]
a = 7
?
b = a in l
print(b)
?
a = 4
print(a in l)
?
print(a not in l)
   
FalseTrueFalse
 身份運算
  • is: 用來檢測兩個變數是否是同一個變數
    • 文法就是 var1 is var2
  • is not: 兩個變數不是同一個變數
In [50]:     
a = 9
b = 9
print( a is b)
?
a = "I love wangxiaojing"
b = "I love wangxiaojing"
print( a is b)
   
TrueFalse
 運算子的優先順序問題
  • 永遠記住,括弧具有最高優先順序
  • 優先順序表格

      **  指數 (最高優先順序)  ~ + -   按位翻轉, 一元加號和減號 (最後兩個的方法名為 [email protected] 和 [email protected])  * / % //    乘,除,模數和取整除  + - 加法減法  >> <<   右移,左移運算子  &   位 ‘AND‘  ^ | 位元運算符  <= < > >=   比較子  <> == !=    等於運算子  = %= /= //= -= += *= **=    賦值運算子  is is not   身份運算子  in not in   成員運算子  not or and  邏輯運算子
 程式結構?
  • 順序
  • 分支
  • 迴圈

 

03-字串+變數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.