2.程式語言,格式化輸出,與使用者互動
一.程式語言分類
機器語言:直接使用二進位制指令寫指令編寫程式
優點:執行效率高
缺點:開發效率低
組合語言:用英文標籤去取代二進位制指令
優點:執行效率高,低於機器語言
缺點:開發效率依然低
高階語言:直接用人自己的思維邏輯去編寫程式,用高階語言寫程式底層其實是把編寫的
程式交給作業系統,由作業系統去控制硬體.無需考慮硬體細節
編譯型:類似於翻譯軟體
優點:執行效率編譯型高於解釋型
缺點:開發效率低,除錯困難.跨平臺性差
解釋型:類似於同聲翻譯
優點:開發效率高,跨平臺性高
缺點:執行效率低
總結:由於執行效率受限於物理水平和硬體,就應該去提升開發效率
二 安裝python直譯器
設定環境變數:
三 執行python程式的兩種方式
1.互動式環境
2.把程式寫到文字檔案中,永久儲存下來
四.Pytharm
五.變數
註釋在程式碼後兩個空格#一個空格註釋
1.什麼是變數:量即記錄某種現實世界中的狀態,事物的某種狀態是可以發生改變的
2為何要有變數:用來記錄事物狀態,方便以後使用
3如何用變數:
原則:先定義,後引用
變數名:申請名稱空間,=即繫結,變數的值:用來記錄事物狀態的值,用來呼叫
變數名的命名:1變數名的命名對值應有描述性的作用
2只能是字母數字下劃線組合,不能是數字開頭
3關鍵字不能宣告為變數名
4駝峰體或者純小寫加下劃線組合
六.與使用者互動
1.input('請輸入您的賬號:')
接收的值全部存成字串,要賦值給變數名才有意義
2.格式化輸出
name = input('姓名:') #input接收的資料可以是任意型別,存成字串
age = input('年齡:')
print('my name is %s,my age is %s'%(name,age))
七.基本資料型別
1.數字型別
1.1 整型:int
用於標識年齡,等級,身份證,qq號,個數
1.2 浮點型:float # 浮點型可以接收整數,但是整型不能接收小數 .點 屬於字元
用於標識薪資,身高,體重
2.字串
用單引號,雙引號,或者三引號標識,引號內可以是任何型別.
字串可以相加但只是拼接的概念,也可以是字串*數字,但依然是簡單的拼接
3.列表
在[]內用逗號分隔,可以存放n個任意型別的值
students = ['egon','alex']
用於儲存多個值的情況,比如一個人有多個愛好,可以按索引取值
可以巢狀['a','b',['c','d']]
4.字典*****
用於標識:儲存多個值的情況,每個值都有唯一一個對應的key,可以更有效的取值
info = {'name':'egon','age':18,'sex':'male'}
在{}內用逗號分隔開,可以存放多個key:value的值,value可以是任何型別,key是字串
和列表相同,字典同樣可以巢狀
取值方式是通過key來取對應的值
5.布林
布林值,一個True一個False
所有資料型別其實都自帶布林值,用於做邏輯判斷
6.None型別
只有None一個,None和0,空(空字串,空列表,空字典)的布林值為False
其餘為真
八.可變不可變型別
可變型別:在id不變的情況下,value可以變,則稱為可變型別,如,列表,字典
不可變型別:value一旦改變,id也改變,就稱為不可變型別,底層的原理其實就是
建立一個值就是申請了一個記憶體空間,id即對應記憶體空間的門牌號
id改變即記憶體空間改變,即建立了一個新的記憶體空間(在改變的過程中由於原來的值被刪
除導致記憶體被系統回收,所以新的值就存在了新的隨機記憶體空間)
可變不可變的區別就是在於,在同一個記憶體地址下,能否改變繫結的值
九.格式化輸出
name = input('輸入名字:')
age = input('輸入年齡:')
print('My name is %s,my age is %s' %(name,age) # %s是佔位符,%後內括號內的變數與
括號內位置必須一一對應
練習題
name = input('姓名:')
age = input('年齡:')
sex = input('性別:')
job = input('職業:')
print('''------------ info of Egon -----------
Name : %s
Age : %s
Sex : %s
Job : %s
------------- end -----------------''' %(name,age,sex,job))
十.基本運算子
10.1算數運算
a = 10 ,b = 20
+,兩個物件相加 a+b = 30
-,得到負數或是一個數減去另一個數 a-b = -10
*,兩個數相乘或是返回一個被重複若干次的字串
/,兩個數相除 b/a 輸出結果為2
%,取模,返回除法的餘數 b%a 輸出結果為0
** 冪 返回a的b次冪 a**b輸出結果為10的20次方
// 取整除 返回商的整數部分, 9//2輸出結果為4
10.2比較運算
a = 10, b = 20
== 等於-比較物件是否相等 (a == b) 返回False
!= 不等於- 比較兩個物件是否不相等 (a != b)返回True
<> 不等於 - 比較兩個物件是否不相等 (a <> b)返回True 這個 運算子類似於!=
大於 - 返回x是否大於y (a > b)返回False
< 小於 - 返回x是否小於y(a < b) 返回False
還有大於等於,小於等於
10.2 賦值運算
以下假設變數: a = 10, b = 20
= ,即等於
+= c+=a 等效於c = c+a
-= c-=a 等效於c = c-a
*=
/=
%=
**=
//=
10.3邏輯運算
and 布林'與' 如果x為False , x and y 返回False ,否則它返回y的計算值
or 布林'或' 如果x為True, x and y 返回True,否則它返回y的計算值
not 布林'非' ,如果x 為True ,返回False,如果x為False,它返回True
10.4身份運算
is 比較的是id
== 比較的是值
十一.if ...else語句
age_of_girl = 31
if age_of_girl > 26:
print('阿姨好')
else:
print('醜八怪要不要一起吃宵夜')