實驗環境
這裏使用windows下的 python3.5版本的,爲例,如果你是2版本,在語法上,會有較大的區別
關於在windows中安裝及基本使用python3.5,可以參考我下面這篇博客
https://blog.csdn.net/weixin_45308292/article/details/103398011
1)註釋
1.單行註釋,使用#號,#號右邊爲註釋
按 “f5” 運行,測試,第一次會讓選擇保存位置,註釋部分沒有被輸出
1
>>>
2.多行註釋 使用 ''' '''
包裹,可以在代碼內部註釋說明
運行測試
11
>>>
但是使用''' '''
,通過打印命令,也可以實現多行換行執行代碼
代碼如下
print('''
aaa
bbb
ccc
''')
執行結果如下
aaa
bbb
ccc
>>>
2)變量及數據類型
變量:用來臨時存儲數據的容器,以方便其他地方的代碼使用數據時直接使用變量
python是弱類型動態語言,無需定義變量數據類型
1.先賦值後使用
2.符合標識符命名規範
3.變量可以直接進行運算
python中的數據類型
type(),可以判斷變量的類型,()中是變量名
1.int(整型)
類似"-1"
, "2"
, "1000"
沒有 小數點的整數都叫整數
>>> a=1
>>> type(a)
<class 'int'>
python中沒有,分數的概念,負整數也算整數型中的
2.float(浮點型,小數點)
類似 "-1.2
", "1.3"
,不是整數的數都是浮點型
>>> b=-1.2
>>> type(b)
<class 'float'>
3.bool(布爾型)
像下面返回這種就是布爾型
>>> 1>2
False
>>> 1<2
True
True對應1,False對應0
>>> True + 1
2
>>> False + 1
1
>>> b=True
>>> c=False
>>> type(b)
<class 'bool'>
>>> type( c )
<class 'bool'>
4.str(字符串string)
例如,"im is ajbn"
, "10 is 10.1"
這種帶有字符,數字或小數等長字符或純字符等叫字符串,內容必須 使用 ' '
或 " "
包裹,表示是字符串
>>> d="nihao is 10 is 10.1"
>>> type(d)
<class 'str'>
上面4個是初學階段比較常用的,
下面這5個是比較難的,這裏不多解釋,後面用到了再解釋
5.None---空值
6.list(列表)---[1,2,3,4]
7.tuple(元組)---(1,2,3)---不可變類型
8.dict(字典)---{'name':'Uzi','age':21}
9.set(集合)---{1,2,3,4}---元素無序不重複
關於不可變類型的意思是,當重新給原來的變量賦新的值時,實際在內存中的變量已經不是原來的了
而可變類型是賦了新的值,內存中的變量還是原來的
不可變類型:
1.int,2.float,3.string,4.tuple
可變類型:
1.list,2.dict,3.set
3)標識符和關鍵字
標識符—自己定義的名字,命名變量名、函數名、類名等
1.標識符命名規則
有數字、字母、下劃線組成,數字不能開頭---shell類似
沒有長度限制
區分大小寫
2.命名習慣
1.望文生義
如學生類Student,列表list1,user用戶,名字name
2.小駝峯命名法—第一個單詞後的所有單詞首字母大寫
1.函數名:startLoad
2.變量名:passwordList
3.大駝峯命名法—所有單詞首字母全大寫
1.類名:RouteId
4.全小寫
5.全大寫
6.下換線_
pass_id='Faker'
3.不要使用關鍵字命名
>>> import keyword
>>> keyword.kwlist
紅線部分就是關鍵字,不要使用這些關鍵字命名
4)輸入語句input(提示信息)
提供一個用戶交互式給變量賦值
代碼如下
aaa=input('請輸入你的數字')
print (aaa)
運行測試
請輸入你的數字
1 ( 輸入數字1回車)
1
(打印了數字1)
>>>
在python3中(也就是這個),input(提示信息) 會將用戶輸入的數據轉化成字符串
就是不管用戶輸入的是整數型,浮點型等,都會自動轉換爲,字符串
這個問題,我後面會詳細說,這裏不闡述
python2中:
input()—獲取數據皆爲字符串
raw_input()—獲取數據根據用戶數據而定
5)輸出語句
1.print(): 打印語句
python3中表示函數,python2中語法 print ' ' 只是打印語句
python3中格式如下
print():
可以打印數字,字符串,列表等數據,運算式,
打印多個不同數據類型,用逗號隔開,
也可以使用end參數,默認以 ’\n' 換行
例如,代碼如下,' '
中可以添加別的,就會以什麼分隔,我這裏是中間是空格
aaa=123
print (aaa,end=' ')
print (aaa,end=' ')
運行,如下
123 123
>>>
如果不加"end",注意要把逗號要刪掉
aaa=123
print (aaa)
print (aaa)
運行,會自動換行,而不是在一行了
123
123
>>>
2.格式化輸出
python中引用變量,同shell有很大不同
運行如下
my name is name my years old is 10
>>>
但是如果,把變量age的值換成小數,就會發現打印的還是10,
要將代碼更改爲如下,將%d更改爲%f表示age這個變量是浮點型
ge= 10.5
ame = "name"
rint ('my name is %s my years old is %f'%(name,age))
運行如下
my name is name my years old is 10.500000
>>>
(當然這裏出現很多小數點,需要用別的方式去除,但是這個不是重點,做出這樣就行)
6)運算符
1.算數運算符
1) "+" ,"-","*","/"
依次意思爲“加”,“減”,“乘” “除" 的意思
>>> a=20
>>> b=10
>>> a - b
10
>>> a + b
30
>>> a * b
200
>>> a / b
2.0
2) //—地板除 (不會顯示餘數,只顯示可以整除的 數)
>>> 100 // 60
1
>>> 200 // 80
2
3)%—模運算(只會顯示餘數,和 // 正好相反)
>>> 100 % 70
30
>>> 200 % 80
40
4)—冪運算(平方),如下求 2的 3次方,2的2次方
>>> 2 ** 3
8
>>> 2 ** 2
4
2.賦值運算符=
(可以一次定義多個變量和值,要順序對應,後賦的值會把原來的值覆蓋,如下面的"a" )
>>> a = 10
>>> a,b=1,2
>>> print (a)
1
>>> print (b)
2
3.比較運算符
"<"
是小於的意思,">"
是大於的意思,
>>> 2 > 1
True
>>> 1 < 2
True
"<="
是小於等於的意思,">="
是大於等於的意思,
(這兩個在後面寫腳本的時候,用到比較多,這裏先知道就可以)
==
是比較是否相等,!=
比較是否不相等,這裏也是知道就可以
4.邏輯運算符
1)not 非 優先級最高
這個前期用的不大,知道就可以
2) and 和 與 兩側爲真才爲真—>返回布爾值
例如,下面第一個就不行,第二個可以
>>> 2>1 and 1>2
False
>>> 2 >1 and 2>0
True
3)or 或 兩側有一側爲真即爲真—>返回布爾值
>>> 2>1 or 0>1
True
>>> 1>2 or 1>0
True
5.成員運算符
這裏的a,d和abc就是字符串而不是變量名
1)in 在…裏面,
如下判斷 ‘a’ 是否在 ‘abc’ 中,在輸出真
>>>'a'
in 'abc'
True
2)not in 不在…裏面,
判斷’d’是否不在 'abc’中, 不在的話輸出真
>>> 'd'
not in 'abc'
True
7)數據類型轉換
不同類型的數據類型是無法,進行計算或者比較的,例如如下圖
必須要進行類型的轉換,纔可以
1.其他類型轉換整數型
int()
1)如下,把字符串類型轉換爲整數形,可以進行相加
>>> a=int('1')
>>> type (a)
<class 'int'>
>>> b=2
>>> a + b
3
注意這裏,字符串轉整數型字符串不可以是小數,必須是整數的,不然無法轉換
>>> a=int('1.2')
Traceback (most recent call last):
(這是報錯)
2)浮點型轉換爲整數型,會省略後面的小數,如下1.2原來是浮點型,變爲了1整數型
>>> a=int(1.2)
>>> print (a)
1
>>> type (a)
<class 'int'>
3)布爾型轉整數型
>>> g=int(True)
>>> print (g)
1
>>> type (g)
<class 'int'>
2.其他類型轉換爲浮點型
float()
1)字符串轉浮點型,只能轉換數字字符串,可以有小數點
>>> a=float('1.2')
>>> type (a)
<class 'float'>
>>> print (a)
1.2
2)整數型轉浮點型
>>> b=float(9)
>>> type(b)
<class 'float'>
>>> print (b)
9.0
3)布爾型轉浮點型
>>> q=float(True)
>>> type(q)
<class 'float'>
>>> print (q)
1.0
3.其他類型轉字符串
1)布爾型轉字符串
>>> b=str(True)
>>> type(b)
<class 'str'>
2)浮點型轉字符串
>>> v=str(1.1)
>>> type(v)
<class 'str'>
>>> print (v)
1.1
3) 整數型轉字符串
>>> n=str(11)
>>> type(n)
<class 'str'>
>>> print (n)
11
這裏說一下,上面的 “input” 交互的問題,
這是代碼
age=input('輸入你的數字')
print (type(age))
運行測試如下,發現這是字符串類型的,如果要相加或別的操作,還要單獨去轉換,非常不方便
輸入你的數字
1
<class 'str'>
可以更改代碼,爲如下,直接把交互賦的值,轉換爲整數型
age=int(input('輸入你的數字'))
print (type(age))
運行測試,類型已經改變了
輸入你的數字
1
<class 'int'>