1.編程語言的分類 機器語言:二進位指令編程,直接操作硬體,運行效率高,開發效率低 彙編語言:用英文標簽代替二進位指令,也是直接操作硬體,運行效率高,開發效率低 高級語言:用人類的字元編寫程式,電腦無法理解,必須翻譯為電腦能夠理解的語言,才能執行,分為兩種 編譯型,解釋型 編譯型:如c語言,編譯 ...
1.編程語言的分類
機器語言:二進位指令編程,直接操作硬體,運行效率高,開發效率低
彙編語言:用英文標簽代替二進位指令,也是直接操作硬體,運行效率高,開發效率低
高級語言:用人類的字元編寫程式,電腦無法理解,必須翻譯為電腦能夠理解的語言,才能執行,分為兩種---編譯型,解釋型
編譯型:如c語言,編譯一次,拿到的結果可以重覆運行
運行過程:翻譯:程式代碼----gcc----機器語言
運行:機器語言---cpu執行
執行效率高,開發效率低,跨平臺性差,調試複雜
解釋型:如python,解釋一條,執行一條
運行過程:程式代碼--解釋器---位元組碼(一次性翻譯為位元組碼)---機器語言---cpu執行
開發效率高,跨平臺性好,調試方便,但是執行效率低
1.1 python程式的執行流程(參考應用程式的啟動流程)
啟動python解釋器
將代碼讀入記憶體
解釋執行
2.變數
2.1什麼是變數,為什麼要有變數
變數是一種可以反映出狀態變化的機制,而程式的執行本質就是一系列狀態的變化
2.2變數的定義
語法:變數名 = 值 (變數名之對值得引用)
記憶體會開闢空間用來存放變數值,再把變數名和變數值做一個對應關係----變數名相當於一個標簽
2.3變數的命名規範
2.3.1變數名只能是字母,數字或者下劃線的任意組合
2.3.2變數名的第一個字元不能是數字
2.3.3關鍵字不能聲明為變數名
2.4變數的三個特征
id():返回變數在記憶體中的地址
type():返回變數的類型
value():返回變數的值
********** == 比較符號等於號:比較的是變數的值是否相等
is 身份運算符號:比較的是變數的id是否一樣
2.5常量
常量與變數相對應,python中沒有常量的概念,將變數名全部大寫就是約定俗成的常量表示
3.代碼註釋:單行註釋# 多行註釋使用三對雙引號
註釋可以用中文和英文,但是不要使用拼音
4.文件頭:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
5.基本數據類型
5.1數字類型:int整形
5.2float浮點型
5.3字元串:在引號之內一串字元
單雙引號沒有區別,只有一種情況需要考慮他們的使用
msg = “my name is guo,i'm 18 ysers oid!”
多行字元串時必須使用多引號
msg = '''
多行字元串
時必須使用多引號
'''
字元串的拼接
'hello'+'world' = 'helloworld'
'hello'*2 = 'hellohello'
註意:字元串相加只能是字元串和字元串相加,而且效率不高,不建議使用
6.列表:在[]中,使用逗號分隔,可以存放多個任意類型的值
列表使用索引取值:list_info =['name','age',['level','123']]
list_info[2][0]='level'
7.字典:在{}內,只用逗號隔開,可以存放多個key:value的值,value可以是任意類型
字典使用key取值:dict_info={'name':'egon','age':18}
dict_info['name']='egon'
8.布爾類型:只有兩個值True,False
所有數據類型都自帶bool值;只有在None,0,空(空字元串,空列表,空字典)三種情況下布爾值為False,其餘全部為真
9.格式化輸出:占位符%s,%d
%s接受字元和數字,%d只接受數字
10基本運算符
算數運算 + - * / %(取餘) //(地板處--只取商的整數部分) **
比較運算 == !=(不等於的建議使用方法) <> > < >= <=
賦值運算 = += -= *= /= %= **= //= 例:count+=1---count = count + 1 其他類似
邏輯運算 and 邏輯與 如果x是False,x and y 返回False,否則返回y的計算值
or 邏輯或 如果x是True,它返回True,否則返回y的計算值
not 邏輯非,如果x是True,返回False,如果x為False,它返回True
11流程式控制制之if...else
嵌套: if 條件:
代碼
elif條件:
代碼
else:
代碼
1 count=0 2 age=18 3 while count < 3: 4 inp_age = input('enter your age: ') 5 inp_age = int(inp_age) 6 if inp_age == age: 7 print('猜對了!') 8 break 9 else: 10 print('猜錯了!') 11 count += 1 12 if count == 3 : 13 print('嘗試次數過多!沒有機會了')
count=0 age=18 while count <= 3: inp_age = input('enter your age: ') inp_age = int(inp_age) if inp_age == age: print('猜對了!') break elif count == 3: print('嘗試次數過多!沒有機會了') break else: print('猜錯了!') count += 1
12流程式控制制之while迴圈
while 條件:
迴圈體
# 如果條件為真,那麼迴圈體則執行,執行完畢後再次迴圈,重新判斷條件。。。
# 如果條件為假,那麼迴圈體不執行,迴圈終止
迴圈嵌套與tag
tag=True
while tag:
......
while tag:
........
while tag:
tag=False
當tag=False時,所有while迴圈全部退出
break:退出本層迴圈
continue:退出本次迴圈,繼續下一次迴圈
1 tag = True 2 name = 'egon' 3 age = 18 4 while tag: 5 inp_name = input('enter your name: ') 6 if inp_name == name: 7 while tag: 8 inp_age = input('enter your age: ') 9 inp_age = int(inp_age) 10 if inp_age == age: 11 print('login successful') 12 tag = False 13 else: 14 print('login Error') 15 else: 16 print('name Error')
whlie + else
#與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句,
#while 後面的else 作用是指,當while 迴圈正常執行完,中間沒有被break 中止
#的話,就會執行else後面的語句
count = 0 while count <= 5 : count += 1 print("bingo",count) else: print("xxxxxxxxxxxx")