python (第十周)編瑪規則、變量和常量、數據類型、運算符與表達式


2.2.3 模塊導入的規范
1、import 語句

 import  sys              #sys模塊是處理系統環境的函數的集合
print sys.path

2、from….import… 語句

from  sys  import  path
print path

兩種語句的區別是前者在當前程序的命名空間中創建導入模塊的引用,后者只導入模塊的一部分內容,並在當前的命名空間創建導入對象的引用。

2.2.4 使用空行分隔代碼
函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。空行與代碼縮進不同,空行不是python語法的一部分。記住:空行也是程序代碼的一部分。
2.2.5 正確的注釋
C、C++、JAVA均采用“//”或”/“。python用”#“。通過注釋還可以對代碼進行調試檢查。

  注釋的用法                      作用    
單行注釋 說明一行語句的作用
塊注釋 說明一段代碼的作用或整個程序文件的功能
程序的跨平台 #!/usr/bin/python
中文注釋的支持 # - * - coding:UTF - 8 - * -
調試程序 注釋可以幫助程序員調試程序

2.2.6 語句的分隔
1、在C 、java中,分號用於一條語句的結束標識,python中用換行來標識語句的結束。
2、X=1 ; Y =1 ; Z=1 #一行中寫多條語句帽用分號,但分號不是python推薦使用的符號。
3、python 使用”\”作為換行符。

     sql = "select id , name\
from dept \
where name = 'a'"
print sql
   輸出結果: sql = "select id , name from dept  where name = 'a'"

2.3 變量和常量
變量是內存中一塊區域,值可以改變。常量不一塊只讀內存區域,不能修改。
2.3.1 變量的命名
變量的首字符必須用字母或下划線。 錯誤的變量命名:1_var = 3
2.3.2 變量的賦值
python 中變量的賦值操作即是變量的定義過程。

# 一次新的賦值操作,將創建一個新的變量。即使變量名相同,變量標識並不同。
x = 1
print id(x)
x = 2
print id(x)

輸出結果:31031064
31031040

#給多個變量賦值

a = (1, 2, 3)
(x, y, z) = a
print "x =", x
print "y =", y
print "z =", z

2.3.3 局部變量
局部變量的作用范圍只在局部變量被創建的函數內有效。

 def fun():
local = 1
print local
local = local - 1

#此時已超出local變量的作用范圍,會提示錯誤: name ‘local’ is not defined

2.3.4 全局變量
全局變量是能夠被不同的函數、類或文件共享的變量,在函數之外定義的變量都可以稱為全局變量。
# 通常在文件的開頭定義全局變量

_a = 1
_b = 2
def add():
global _a #這里使用了global保留字,用於引用全局變量。
_a = 3 #對全局變量 _a 重新賦值。
return "_a + _b =", _a + _b
def sub():
global _b
_b = 4
return "_a - _b =", _a - _b
print add()
print sub()
輸出:('_a + _b =', 5)
('_a - _b =', -1)
# 錯誤的使用全局變量
_a = 1
_b = 2
def add():
_a = 3 #函數 add() 的局部變量
return "_a + _b =", _a + _b
def sub():
_b = 4 #函數 sub() 的局部變量
return "_a - _b =", _a - _b
print add()
print sub()
輸出:('_a + _b =', 5)
('_a - _b =', -3)

2.3.5 常量
C++用const Java 用 static和final 保留字指定常量,而python 不用,可以自己定義一個常量類來實現常量的功能。

2.4 數據類型
2.4.1 數字類型
python 不需要聲明變量的類型,只需要采用賦值表達式即可。python 不能修改對象i的值。如果需要查看變量類型,可以使用 builtin模塊的type類,該類能返回變量的類型。builtin模塊是python的內聯模塊,不需要使用import語句。

 #整型
i = 1
print type(i)
輸出:<type 'int'>
#長整型
l = 999999 990
print type (l)
輸出:<type 'long'>
#浮點型
f = 1.2
print type (f)
輸出:<type 'float'>
#布爾型
b = Ture
print type(b)
輸出:<type 'bool'>

# 復數類型
c = 7 + 8j
print type(c)
輸出:<type 'complex'>

【如果寫成c = 7 + 8i ,python 不能識別其中的“i”.將提示語法錯誤。】

2.2.4 字符串類型
單引號與雙引號的作用是相同的。

#三引號的第一種用法
str = '''he say ''hello world!'' '''
print str

三引號的別一種用法是制作文檔字符串。python 的每個對象才都有一個屬性 _doc_, 這個屬性用於描述該對象的作用。

#三引號制作doc文檔
class Hello #定義一個名為Hello的類。
'''hello class''' #對Hello類的描述,該字符串將被存放在類的__doc__屬性中。
def printHello():
'''print hello world'''
print ''hello world!''
print Hello.__doc__
print Hello.printHello.__doc__
輸出:hello class
print hello world

1、輸入特殊字符的字符串,需要用轉義字符,其操作只要在特殊字符的前面加上“\” 即可。
2、使用雙引號和三引號可以直接輸出含有特殊字符的字符串。

2.5 運算符與表達式
2.5.1 算術運算符和算術表達式

print ''1/2='' , 1/2        #輸出:0
print ''1/2 = '' , 1.0/2.0 #輸出:0.5
print ''3%2 ='' , 3%2 #3除以2后的余數,輸出:1

如果要使“2/1”進行浮點數計算,需要在文件的最前面導入division模塊。

from__future__import division

python 的算術表達式具有結合性和優先性。

2.5.2 關系運算符和關系表達式

    print 2 ! = 2            
print 1 < > 2
print 1 = = 2
輸出:False
Ture
False
<,<=,>,>=的優先級別大於==,!=的,關系運算符的優先級低於算術運算符。

2.5.3 邏輯運算符和邏輯表達式

邏輯運算符       邏輯表達式             說明
And x and y 邏輯與,當x為Ture時,才計算y
Or x or y 邏輯或,當x為False時,才計算y
Not not x 邏輯非
# 邏輯運算符
print not True
print False and True
print True and False
print True or False
輸出:False
False
False
Ture
# 邏輯表達式的優先級別
print "not 1 and 0 =>", not 1 and 0
print "not (1 and 0) =>", not (1 and 0)
print "(1 <= 2) and False or True =>", (1 <= 2) and False or True
print "(1 <= 2) or 1 > 1 + 2 =>", 1 <= 2, "or", 1 > 2, "=>", (1 <= 2) or (1 < 2)
輸出:False
Ture
Ture #先執行1<=2,再執行and,最后執行or運算。
Ture

#定義0為假,其他數為真

2.5.4 運算符的優先級

下表是從最低優先級到最高優先級,Python根據運算符的優先級從高到低進行計算,也就是先計算較下面的,然后再計算表上面的運算符。

這里寫圖片描述

通常為了使代碼具有可讀性,最好使用圓括號來分組表達式。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: