一恳蹲、認識Python
1.常用的快捷鍵
- control+/注釋的快捷鍵,添加或取消注釋芳悲,刪除代碼可以將代碼注釋榛丢,方便以后使用
- control+s保存
- control+b編譯(在相應軟件中有用)
- control+r執(zhí)行或編譯加執(zhí)行
- control+c復制/拷貝
- control+v粘貼
- control+x剪切
- control+z撤銷
- control+shift+z/control+y反撤銷
- control+f查找
- control+a全選
- control+n新建
- shift可以選擇部分內(nèi)容(和鼠標配合,選擇開始和結(jié)束中間的部分)
- control可以讓多個位置出現(xiàn)光標(和鼠標配合)
附:不是只在Python里有效
二、Python的基本用法
1.注釋
意義:寫在代碼中不參與編譯執(zhí)行的部分
作用:對代碼進行注釋說明谁尸,方便程序員更好的閱讀
分類:
單行注釋:在文本內(nèi)容前面加#
多行注釋:
a.每一行前都加一個#號
# 我是注釋1
# 我是注釋2
b.將注釋放在三個單引號/三個雙引號中(推薦使用雙引號)
'''
我是多行注釋1
我是多行注釋2
'''
2.標識符
作用:標識符是用來命名的(比如變量名舅踪,函數(shù)名,類名)
要求:
a.由字母數(shù)字和下劃線組成症汹,并且數(shù)字不能開頭(Python2.x規(guī)范)
b.在Unicode編碼中硫朦,除了ASCII碼表中的字母、數(shù)字背镇、下劃線以外不能作為標識符的一部分咬展,其他都可以,數(shù)字不能開頭(Python3.x規(guī)范)
注意: 在實際開發(fā)中瞒斩,現(xiàn)在還是推薦使用Python2.x規(guī)范
- 測試代碼:
abc = 100
abc123 = 100
abc_123 = 100
_123 = 100
# 1abc = 100 報錯
你好 = 100
3.語句
C/JAVA語法破婆,每條語句結(jié)束必須加分好
python中一條語句結(jié)束可以加分號也可以不加;如果一行顯示多條語句胸囱,那么每條語句之間必須加分號
- 測試代碼:
print('abc');print('ABC')
-
測試結(jié)果:
4.行和縮進
同樣等級的代碼對應的縮進必須一致,只有在需要產(chǎn)生代碼塊的時候才需要加縮進祷舀,函數(shù)的聲明和類的聲明的前后需要有兩個空行
5.多行顯示問題
- a. 在需要換行的地方加反斜杠,然后再換行(反斜杠需要破壞數(shù)據(jù)本身)
sum1 = 1312321323+123213213123+1232142321+\
213213123213+2321321312+21321321321+\
3213213+12321321321+123213213
- b. 如果是列烹笔、字典裳扯、元祖和集合的值,可以直接換行
name = [1321,13213,2324343,535353,
3434343,2432423432,3543532532,
34532532532,32532532532,3532535325,
35325325,2353253253]
6.常見的數(shù)據(jù)類型及其自變量
分類:
中文 | 英文 |
---|---|
整型 | int |
浮點型 | float |
布爾 | bool |
字符串 | str |
列表 | list |
字典 | dict |
元祖 | tupl |
集合 | set |
介紹:
整型:相當于數(shù)學中的整型谤职,例如:100,-12,+30
浮點型:帶小數(shù)點的數(shù)饰豺,例如:12.12,0.0,-12.53
布爾型:只有兩個值,分別是True(真)和False(假)
字符串:用單引號或者雙引號括起來的數(shù)據(jù)允蜈,例如:'abc','100','abc100`~'
7.關(guān)鍵字
意義:在python中有特殊功能和特殊意義的一些標識符(單詞)
打印關(guān)鍵字代碼:
import keyword #導入keyword模塊
print(keyword.kwlist) #打印所又的關(guān)鍵字
-
結(jié)果:
三冤吨、數(shù)字類型
1.四種數(shù)字類型
中文 | 英文 |
---|---|
整型 | int |
浮點型 | float |
布爾 | bool |
復數(shù) | complex |
2.數(shù)字類型簡介
- a.整型(int):包含python所有整型,Python3.x整型只有int類型這一種饶套,但是Python2.x除了int還有l(wèi)ong
例子:
100
123
-78
+782
- b.浮點型(float):包含了python中所有小數(shù)
注意:浮點型支持科學計數(shù)法
例子:
12.89
-123.9098
+237.890
print(12e2) #12*10^2 1200.0
print(12e-3) #12*10^(-3) 0.012
- c.布爾(bool):布爾類型的值只有兩個漩蟆,分別是True(對應1)和False(對應0)
注意:布爾值的首字母是大寫的
例子:
True
False
print(False+1) #1
print(True+1) #2
- d.復數(shù)(complex):由實部和虛部組成的數(shù)字
例子:
10+10j
3.獲取數(shù)字類型
方法:在Python中采用type(數(shù)值/變量),來獲取括號中值的類型
例子:
print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))
-
結(jié)果:
4.轉(zhuǎn)換數(shù)字類型
- 方法:在Python中采用類型名()妓蛮,將其他類型的數(shù)據(jù)怠李,轉(zhuǎn)化成當前類型
- 例子:
print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
# print(int(10j)) 注意:復數(shù)不能轉(zhuǎn)換成整型和浮點型
-
結(jié)果:
四、變量
1.變量
作用:程序在內(nèi)存中存儲數(shù)據(jù)的容器
2.聲明變量
概念:在內(nèi)存中開辟空間存儲數(shù)據(jù)
方法:
C/Java聲明變量:類型 變量名 = 初值;
Python聲明變量:變量名 = 初值說明:
a.變量名:程序員自己命名蛤克,要求是標識符捺癞,并且不是關(guān)鍵字;
所有的字母必須是小寫的,如果變量名由多個單詞組成咖耘,多個單詞之間用下劃線隔開;
看見變量名翘簇,要知道這個變量大概存的是什么數(shù)據(jù)
b.=:賦值符號,將等號右邊的值賦給左邊的變量
c.初值:有值的表達式(具體的自變量或者是其他已經(jīng)聲明過的變量)
注意:變量只有在賦完值后才能使用(只能聲明后才能使用)
# 將變量student_name中的值儿倒,賦給new_name
new_name = student_name
# print(new_name2) NameError: name 'new_name2' is not defined
- 測試代碼:
# 聲明一個變量number并且賦值為100
number = 100
print(number)
# True = 12.5 SyntaxError: can't assign to keyword
# 1abc = True SyntaxError: invalid syntax
# 聲明一個變量student_name版保,賦值為'小明'
student_name = '小明'
print(student_name)
# 注意:雖然int呜笑、float、bool等不是關(guān)鍵字彻犁,但在需要命名的時候叫胁,最好不用他們來命名,否則會改變它們原來的功能
# int = 100
# print(int)
# int(89.9)
-
測試結(jié)果:
- 附:聲明完的變量可以重新賦值汞幢,重新賦值后驼鹅,新的值會覆蓋原來的值
student_name = '小花'
print(student_name)
# 注意:在Python中,同一個變量可以存儲不同類型的值
student_name = 100
print(student_name)
3.多變量聲明
方法:
變量名1=變量名2=變量名3... = 初值測試代碼:
a = b = c = 123
print(a,b,c) #print同時打印多個數(shù)據(jù)森篷,多個數(shù)據(jù)之間用逗號隔開
-
測試結(jié)果:
4.聲明變量區(qū)別
- C/Java聲明變量:類型 變量名 = 初值
int a = 10;
a = 100;
開辟4個字節(jié)的內(nèi)存空間a输钩,將10放進去,重新賦值的時候仲智,修改空間內(nèi)的值 - Python聲明變量:變量名 = 初值
a = 10
a = 100
在內(nèi)存中開辟空間把10存起來买乃,用a將內(nèi)存空間命名,重新賦值的時候钓辆,再開辟空間把100存起來剪验,重新用a命名 - 附:不同的類型,在內(nèi)存中存儲的時候所占的內(nèi)存不一樣
五前联、運算符
1.運算符類型
- 分類:
- 數(shù)學運算符
- 比較運算符功戚,
- 邏輯運算符,
- 賦值運算符似嗤,
- 位運算
2.數(shù)學運算符
- 分類:
符號 | 意義 |
---|---|
+ | 求和 |
- | 求差 |
* | 求積 |
/ | 求商 |
% | 求余 |
// | 整除 |
** | 冪運算 |
- 測試代碼:
# a.+:求和啸臀,和數(shù)學中的功能一模一樣
print(100 + 10)
print(-100 + 10)
print(12.5 + 3.14)
# b.-:求差,和數(shù)學中的功能一模一樣
result = 99-23
print(result) #將99-23的結(jié)果賦給變量result
# c.*:求乘積双谆,和數(shù)學中的功能一模一樣
print(1.23 * 3)
print(-1.23 * 2)
print(-1.23 * -2)
# d./:求商壳咕,和數(shù)學中的功能一模一樣
# 注意:和C語言中的/不一樣
print(5/2)
print(12.5/5)
# e.%取余:求余數(shù)
# 注意:Python中小數(shù)和整數(shù)都可以求余數(shù)
print(5%2)
print(6%2)
print(5.5%0.3)
# f.//整除:席揽,求商顽馋,結(jié)果只取整整數(shù)部分
print(5//2)
print(6.4//2)
# g.**冪運算:求冪
# x ** y :求x的y次方
# 技巧:可以通過設置y的值來實現(xiàn)開方
print(2**3)
print(100*0.5)
-
測試結(jié)果:
3.比較運算符
- 分類:
符號 | 意義 |
---|---|
> | 大于 |
< | 小于 |
== | 等于 |
!= | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
附:所有比較運算的結(jié)果是布爾值:True/False
測試代碼:
print(100 > 10)
print(100 < 10)
print(12.5 == 12.5)
print(10 == 12.5)
number = 10
print(number == 10) #False
print(number)
print(number != 100) #True
print(100 >= 100) #True
print(10<11) #True
print(10<=10) #True
-
測試結(jié)果:
4.邏輯運算符
- 分類:
符號 | 意義 |
---|---|
and | 且 |
or | 或 |
not | 非 |
介紹:
a.值1 and 值2:兩個都為True,結(jié)果才是True幌羞,否則都是False寸谜,相當于生活中的并且(要求多個條件同時滿足時,使用and連接)
b.值1 and 值2:兩個都為False属桦,結(jié)果才是False熊痴,否則都是True,相當于生活中的或者(要求多個條件有一個滿足時聂宾,使用or連接)
c.not 值:值取反(True -> False;False -> True),相當于生活中的不是(否定某個條件的時候使用not)測試代碼:
a.值1 and 值2:兩個都為True果善,結(jié)果才是True,否則都是False系谐,相當于生活中的并且
print('=====================================')
print(True and True) #True
print(True and False) #False
print(False and True) #False
print(False and False) #False
# 練習:獲得獎學金的條件:要求績點在3.5以上巾陕,并且操評分在90分
grade = 2.8
score = 95
# 條件一:
grade > 3.5
# 條件二:
score > 90
# 兩個條件同時滿足
print(grade > 3.5 and score > 90)
# b.值1 and 值2:兩個都為False讨跟,結(jié)果才是False,否則都是True鄙煤,相當于生活中的或者
print('=====================================')
print(True or True) #True
print(True or False) #True
print(False or True) #True
print(False or False) #False
# 練習:是否穿毛衣出門:溫度低于20度晾匠,或者風度高于5級
temperture = 18
wind_speed = 4
# 條件一:
condition1 = temperture < 20 #condition1 = True
# 條件二;
condition2 = wind_speed > 5 #condition2 = False
print(condition1 or condition2)
# c.not 值:值取反(True -> False;False -> True),相當于生活中的不是
age = 18
# 條件:年齡不大于18
print(age <= 18)
print(not age > 18)
-
測試結(jié)果:
- 附:Python中and和or會有短路現(xiàn)象
- and的短路現(xiàn)象:值1 and 值2 -->一旦確定值1的值是False梯刚,就不會執(zhí)行判斷值2
- or的短路現(xiàn)象:值1 or 值2 -->一旦確定值1的值是True凉馆,就不會執(zhí)行判斷值2
5.賦值運算符
- 分類:
符號 | 意義 |
---|---|
= | 等于 |
+= | 求和等于 |
-= | 求差等于 |
*= | 求積等于 |
/= | 求商等于 |
%= | 求余等于 |
//= | 整除等于 |
**= | 冪運算等于 |
- 附:賦值運算符的左邊必須是變量,在賦值的時候是先算賦值符號右邊的結(jié)果亡资,然后再將結(jié)果賦給左邊的變量
測試代碼:
# 100 = 100 SyntaxError: can't assign to literal
result = 10 > 100
print(result)
# a.=:單純的將右邊的值賦給左邊
num1 = 100
# b.+=,-=,*=,/=,%=,//=,**=:要求左邊的變量本身必須是有值的
# 變量1 += 值 -->變量1 = 變量1 + 值
num2 = 100
num2 += 10
print(num2)
num3 = 4
num3 *= 2
print(num3)
*測試結(jié)果:
6.運算符的優(yōu)先級
優(yōu)先級:數(shù)學運算符((冪運算>乘澜共、除、取整锥腻、取余>加咳胃、減)>比較運算符>邏輯運算符>賦值運算符
計算方法:先計算優(yōu)先級高的,優(yōu)先級相等旷太,從左往右依次運算展懈,如果有括號優(yōu)先計算括號里的
測試代碼:
print((100 > 200) - 50 * 3)
-
測試結(jié)果:
作業(yè)
1.寫代碼獲取數(shù)字1234中的十位上和百位上的數(shù)字
解答:
number = 1234
print(number//10%10)
number = 1234
print(number//100%10)
2.如果變量n的值是6784, 以下表達式的結(jié)果是多少?
- n / 1000 % 100
- n % 1000 / 100
- n // 100 % 10
- n // 10 % 100 // 10
- 解答:
- n/1000%100
=6.784%100
=6.784 - n%1000/100
=784/100
=7.84 - n//100%10
=67%10
=7 - n//10%100//10
=678%100//10
=78//10
=7
*代碼驗證:
- n/1000%100
print(6784 / 1000 % 100)
print(6784 % 1000 / 100)
print(6784 // 100 % 10)
print(6784 // 10 % 100 // 10)
3.表達式 10 / 4 + 23 // 4 * 2 - 30 的結(jié)果是多少?
- 解答:
10/4+23//42-30
=2.5+52-30
=-17.5 - 代碼驗證:
print(10 / 4 + 23 // 4 * 2 - 30)
4.寫出下面每一行中n3的結(jié)果:n1 = 4; n2 = 5
- n3 = n1 >n2
- n3 = n1<n2
- n3 = n1==4
- n3 = n1!=4
- n3 = n1 == 1+3
- 解答:
- n3=n1>n2
->n3=4>5
->n3=Flalse - n3=n1<n2
->n3=4<5
->n3=True - n3=n1==4
->n3=True - n3 = n1!=4
->n3=4!=4
->n3=Flalse - n3=n1==1+3
->n3=n1==4
->n3=True
- n3=n1>n2
- 代碼驗證:
n1 = 4
n2 = 5
n3 = n1 > n2
n4= n1 < n2
n5 = n1 == 4
n6 = n1 != 4
n7 = n1 == 1+3
print(n3,n4,n5,n6,n7)
5.寫出以下代碼執(zhí)行完成后供璧,num的結(jié)果
num = 10
num /= 2
num += 10 * 10 / 4 + 23*2
- 解答:
num = 10
num /= 2
num += 10 * 10 / 4 + 23*2
6.下面定義變量正確的是()
a. a = b = c = 10
b. a, c = 10
c. in = 20
d. num = 10; t = 20
- 解答:
AD
B:'int' object is not iterable
C:invalid syntax