01-python初識
02-python3基礎語法
03-python3基本數(shù)據(jù)類型
04-進制轉(zhuǎn)換
05-變量
06-運算符
07-math模塊中常用函數(shù)
01-python初識
======常用的快捷鍵========
ctr+b 執(zhí)行(sublim)
ctr+/ 單行注釋
ctr+c 拷貝
ctr+v 粘貼
ctr+s 保存
ctr+z 撤銷
ctr+shift+z 反撤銷
ctr+a 全選
ctr+x 剪切
ctrl + 單擊選中的函數(shù),進入函數(shù)的解釋界面
ctrl+f-->輸入要替換目標-->ctrl+r-->輸入更新的內(nèi)容-->replace all
版本號A.B.C
A在語言做重大修改,一般不兼容之前的版本。
B在做功能增加的時候,B的值增加。
C在修復BUG時候,值增加。
注意:我們目前講的Python都是Python3.x
print是Python中的內(nèi)置函數(shù),功能是在控制臺打印括號中的內(nèi)容
print函數(shù)只是在程序員自己做測試的時候去使用
print("hello world~") #python2.x中 print "hello world"
02-python3基礎語法
2.1.注釋:
注釋就是穿插代碼中的說明性文字,對于代碼實現(xiàn)功能無任何作用,注釋不會參與執(zhí)行。在寫代碼的時候需要經(jīng)常寫注釋
單行注釋:就是在注釋的內(nèi)容前加#
# 注釋一行注釋
# 這是第二行注釋
多行注釋:
a.在每一行前面加#
使用'''或者"""括起來(推薦使用上三個""")
'''
這是多行注釋
這是多行注釋
這是多行注釋
'''
"""
這是多行注釋
這是多行注釋
這是多行注釋
"""
2.2.標識符
在開發(fā)中使用的所有的名字都是標識符(包括變量名、函數(shù)名、類名、對象名等)
硬性要求:
1.由字母(a-z,A-Z)、數(shù)字(0-9)、下劃線(_)組成
2.數(shù)字不能開頭
3.不能是保留字(關鍵字)(后邊會涉及)
規(guī)范:
1.要見名知意
2.PEP 8規(guī)范(變量名):全部小寫,如果名字是由多個單詞組成,單詞之間以_分開
補充:駝峰式:如果名字是由多個單詞組成,第一個單詞首字母是小寫,后面的每個單詞第一個字母大寫
python中大小寫敏感:Key和key是不一樣的
a2_=1
abc=2
a+b=3 #SyntaxError: can't assign to operator 語法錯誤:不能賦值給操作符
2d=1 #SyntaxError: invalid syntax 語法錯誤:無效語法
for=2 #SyntaxError: invalid syntax (for 是關鍵字)
cat_name = 1 #PEP 8
catName = 1 #駝峰式
2.3.關鍵字(保留字)
在Python中有自己獨特功能的一些單詞,程序員在使用標識符的時候不能使用關鍵字
import keyword #導入內(nèi)置keyword模塊
keyword.kwlist #獲取所有關鍵字
print(keyword.kwlist)
"""
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del',
'elif', 'else','except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
"""
2.4.行與縮進
在python中,語法對縮進有嚴格的規(guī)范。同一級的代碼要寫在一個縮進下(縮進->空格和制表符tab)
行:可以通過換行將代碼分塊,要求函數(shù)定義和其他代碼之間要有一個換行,類的聲明和其他代碼之間要有兩個換行。(不按要求來不會報錯)
abc=1
\# abc前多了一個空格,IndentationError:unexpected indent 縮進錯誤:意外縮進
注意:語法相關的所有符號,都必須是英文輸入法下的符號。
2.5.多行語句
一行代碼很長,需要多行顯示
python中,如果一行只有一個語句,那么語句后面可以不寫分號(寫了不會報錯)
如果一行中有多條語句,那么語句間要用分號(;)分開
bbb=2
ccc=3
ddd=4
sum1=aaa+bbb+ccc+ddd
sum2=aaa+\
bbb+\
ccc+\
ddd
\可以將一行代碼寫成多行,相當于還是在一行里,可以任意縮進,不會出錯
列表、字典、元組、集合的元素在多行顯示的時候,可以不用\連接
dict1={
'name':'yuting',
'age':18,
'gender':'女'} #dict 字典
03-python3基本數(shù)據(jù)類型
python3中標準的數(shù)據(jù)類型有六種
Number(數(shù)字)、Str(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dict(字典)
3.1.數(shù)字
python中的數(shù)字分為:整型(整數(shù))、浮點型(小數(shù))、布爾、復數(shù)(實部+虛部)
整型(int):python3中只有長整型int,python2中有l(wèi)ong 例如:23、100、-25、0
浮點型(float):python3只有float類型,例如:12.8、1.0、0.0、-10.5、2e2、2e-2
布爾(bool):表示真假(是否)的值,值只有True(1)和False(0)兩個值
復數(shù)(complex):由實部和虛部組成,例如:10+1j,12.7+2j
a=10+1j
# type():查看()里內(nèi)容的類型
print(type(10)) #type()查看()里內(nèi)容的類型
print(type(12.5))
print(type(True))
print(type(10+2j))
print(a)
3.2.字符串
由單引號或者雙引號括起來的數(shù)據(jù)就是字符串(推薦使用單引號)
python中沒有字符類型,所說的字符就是用引號括起來的長度是1的字符串
'hello world' '123' '1' #字符串中單獨的一個符號就是一個字符
'!2Dfs'
'' #空串,長度是0
' ' #空格字符串是有意義的字符串
python需要轉(zhuǎn)義字符“\”來表示一些特殊的字符串:包括一些有特殊意義和特殊功能的字符串
'\''
print('\'') # '
print('\\') # \
str1='\t床前明月光,\n疑似地上霜' #\n->換行 \t->制表符
print(str1)
print('a\\nb') # a\nb
# 在字符串前加r\R,阻止轉(zhuǎn)義字符轉(zhuǎn)義
print(r'a\nb')
print(R'\ta')
04-進制轉(zhuǎn)換
進制:十進制、二進制、八進制、十六進制(要求:認識、會轉(zhuǎn)換)
4.1十進制:
基數(shù):0,1,2,3,4,5,6,7,8,9
逢十進一(10->10)
123:100+20+3 1*10^2+2*10^1+3*10^0(任何數(shù)的0次方都是1)
8976:6*10^0+7*10^1+9*10^2+8*10^3
12 #直接寫數(shù)字,就是十進制
print(12) #可以直接將數(shù)據(jù)轉(zhuǎn)換成十進制
print(0xae)
4.2 二進制:
(計算機在存儲數(shù)據(jù)的時候,存的都是二進制數(shù))
逢二進一(10->2)
基數(shù):0,1 (111 10001 0001)
1101:1*2^0+0*2^1+1*2^2+1*2^3=13
101011:1*2^0+1*2^1+0*2^2+1*2^3+0*2^4+1*2^5=1+2+0+8+0+32=43
二進制轉(zhuǎn)10進制(相乘求和):每一位上的數(shù)乘以當前位上2的冪次數(shù)(從低位到高位,冪次數(shù)從0開始依次加1)
0b1011 #在數(shù)字前加'0b'表示二進制
print(0b1011)
bin() #該函數(shù)可將括號中的數(shù)字轉(zhuǎn)換成二進制數(shù),返回的是字符串形式的數(shù)據(jù)
print(bin(0o75))
4.3八進制:
基數(shù):0,1,2,3,4,5,6,7
26:6*8^0+2*8^1=22
10:8^1=8
0o10 #在數(shù)字前加'0o'表示八進制
print(oct(10)) #將括號里面的數(shù)據(jù)轉(zhuǎn)換成8進制
print(oct(0b110011))
4.4十六進制:
逢十六進一(10->16)
基數(shù):0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
1f:116^1+1516^0=16+15=31
ab:1016^1+1116^0=160+11=171
0xa1 #在數(shù)字前加'0x'表示十六進制
print(hex(10)) #將括號里面的數(shù)據(jù)轉(zhuǎn)換成十六進制
print(hex(0o67))
4.5進制轉(zhuǎn)換
a.其他進制轉(zhuǎn)換成十進制:相乘求和
b.十進制轉(zhuǎn)換成其他進制:整除取余法
100->(2) 1100100
100->(8) 12-4 1-4 0-1=144
100->(16) 6-4 0-6=64
c.二進制和八進制(每三位二進制轉(zhuǎn)換成一位八進制)、十六進制(每四位二進制轉(zhuǎn)換成一位十六進制)的轉(zhuǎn)換
(2)001 100 100-->(8)144
(2) 0110 0100-->(16)64
(8)571-->(2)101 111 001
(16)a1b-->(2)1010 0001 1011
05-變量
變量用來存儲數(shù)據(jù)的
在python中聲明變量不用指定類型,一個變量可以存儲任何類型的數(shù)據(jù)
5.1.聲明變量:變量名 = 初值
變量名:a.標識符; b.PEP 8命名方式; c.見名知意
= :賦值符號,要求賦值符號的左邊必須是變量 a=10;
a =10
10=20 # SyntaxError: can't assign to literal 不能賦值
初值:python中聲明變量必須賦值
name='YuTing' #聲明一個變量,并且賦了初值為'YuTing'
同時聲明三個變量a,b,c他們的初值都是10
a=b=c=10
同時聲明了三個變量a1,b1,c1;他們對應的初值分別是10,12.6,aaa
a1,b1,c1=10,12.6,'aaa'
一個變量可以存儲多種類型的值,(python是動態(tài)語言)
name=100
age=a
print(age)
06-運算符
python中的運算符:算術運算符、比較運算符、賦值運算符、邏輯運算符
6.1.算術運算符:+(加)、-(減)、*(乘)、/(除)、%(求余)、//(整除)、**(冪運算)
+、-、*、/、%和數(shù)學里面相應的運算時一模一樣
print(12+10.0) #22.0
print(100-8) #92
print(10*7) #70
print(5/2) #2.5
print(10%4) #2
//(整除):可以對浮點數(shù)做整除的操作,只是結果只保留整數(shù)的部分(直接去掉小數(shù)部分)
print(16//10) #1
print(16/10) #1.6
print(10//3) #3
x**y:計算x的y次方
print(2**3) #計算2的3次方
練習:獲取n(三位數(shù))的個位數(shù)、十位數(shù)、和百位數(shù)
n=789
# 百位數(shù):
print('百位數(shù):',n//100)
# 十位數(shù):
print(n%100//10)
print(n//10%10)
# 個位數(shù):
print('個位數(shù):',n%10)
通過import關鍵字可以導入python中內(nèi)置的模塊
math是python內(nèi)置的一個提供數(shù)學運算的模塊
import math
07-math模塊中的函數(shù)
先用import關鍵字導入python中內(nèi)置的math模塊才能使用
import math
7.1factorial(n):求n的階乘
num=math.factorial(10)
print(num)
7.2fabs(n):求n的絕對值
num1=math.fabs(-20)
print(num1)
7.3pi:圓周率
print(math.pi)
7.4fmod(x,y) 取余數(shù),值是一個浮點數(shù) ,算式是x/y
num1=math.fmod(5,4)
print(num1) # value=1.0
7.5ceil(x):取大于等于x的最小整數(shù)值,x可以是int、float、bool但不能是comples
num2=math.ceil(False)
print(num2) #value=0
7.6log(x):返回x的自然對數(shù),默認以e為基數(shù),對于給定基數(shù)n:log(x)/log(n)
num3=math.log(125)/math.log(5)
print(num3) # value=3.0000000000000004 最后的4為儲存錯誤 5^3=125
print('%.2f'%num3) #value=3.00 限定小數(shù)位數(shù)可確保數(shù)值精確
n=math.log1p(8) #返回x+1對x的對數(shù)值 ??????????????
print(n)
7.7 sqrt(x):求x的平方根
num4=math.sqrt(9)
print(num4) #value=3.0
7.8 trunc(x):返回x的整數(shù)部分
num5=math.trunc(3.18)
print(num5) #value=3
7.9cos(x):求x的余弦,但是x必須是弧度;math.pi/6=30度
sin(x):求x的正弦值
tan(x):求x的正切值
num6=math.cos(math.pi/3)
print(num6) #value=0.5000000000000001 ,數(shù)值異常同line 14
num6_2=math.tan(math.pi/4)
print(num6_2)
print('%.2f'%num6_2)
if num6-0.5<0.000000001:
print('r')
else:
print('f')
7.10radians(x):把角度x轉(zhuǎn)換成弧度
num7=math.radians(180)
print(num7) #value=3.141592653589793=pi
7.11pow(x,y):返回x的y次方,及x**y
num8=math.pow(3,3)
print(num8) #value=27.0
7.12ldexp(x,i):返回x*(2**i)的值
num9=math.ldexp(5,3)
print(num9) #value=40=5*2^3
7.13 degrees(x):把x從弧度轉(zhuǎn)換成角度
num10=math.degrees(math.pi/4)
print(num10) #value=45.0