Python
語言特點:解釋性腳本語言
Python---解釋--->查看程序功能
C/Java---編譯--->可執(zhí)行文件---執(zhí)行--->查看程序功能
優(yōu)點:
- 解釋性語言
- 支持兩種主流的編程范式,可以使用面向對象和函數(shù)式編程
- 可擴展性和可嵌入性,可以調用C/C++代碼也可以在C/C++中調用
- 代碼規(guī)范程度高,可讀性強
缺點: - 執(zhí)行效率低下,因此計算密集型任務可以由C/C++編寫
- 代碼無法加密,但是現(xiàn)在公司很多都不是賣軟件而是服務
- 在將開發(fā)時可以選擇的框架太多,有選擇的地方就有錯誤
開發(fā)工具:
IDLE-python環(huán)境自帶的開發(fā)工具
IPython-更好的交互式編程工具(有語法)
IPython是一種可以通過Python的包管理工具pip安裝IPython和Jupyter
pip install ipython jupyter
或者
python -m pip install ipytjon jupyter
打開jupyter(瀏覽器為google)
jupyter notebook
PyCharm-Python開發(fā)神器
1.基礎語法
# encoding=utf-8
print('hello world')
print('嗷')
若是控制臺不能打印中文,可以在前面加#encoding的聲明
常用快捷鍵
ctr(command)+/ -- 添加/取消注釋
ctr + b -- 編譯
ctr + r -- 運行
ctr + z -- 撤銷
ctr + c/v -- 復制/粘貼
ctr + x -- 剪切
ctr + y(ctr+shift+z) -- 反撤銷
ctr + f -- 彈出搜索框
按住shift不放點鼠標,選中部分內(nèi)容
按住ctr不放點鼠標,出現(xiàn)多個光標(可以同時操作多行內(nèi)容)
1. 注釋
不參與編譯執(zhí)行的部分,專門用來對程序解釋和說明的文字,方便對代碼的閱讀
建議在代碼中要常寫注釋
a.單行注釋:在一行文字前加#
b.多行注釋:使用三個單引號或者三個雙引號引起來(一般用三個雙引號)
"""
這是雙引號注釋
"""
'''
這是單引號注釋
'''
2. 語句
一般情況下一行只寫一條語句,并且一條語句結束不需要分號;
如果一行寫多條語句,語句之間用分號隔開
print('hello');print('world') #不建議這樣寫
一行代碼多行顯示:在要分行的地方加反斜杠\(但是不允許破壞數(shù)據(jù))
3. 行和縮進
Python程序中,不能在一句代碼開頭隨意添加空格和制表符,要求同一級代碼開頭的縮進是一致的,否則會出現(xiàn)錯誤
行的規(guī)范:要求聲明函數(shù)和類的時候,前后有兩個換行,類中的函數(shù),聲明前后有一個換行
4. 標識符
標識符是用來給變量、函數(shù)、類命名用的
要求由字母、數(shù)字和下劃線組成,并且數(shù)字不能開頭(標準);但是在python3中,標識符可以包含中文、日語、韓語等
python中大小寫敏感(大寫和小寫值不同)
(變量名 = 值)
2name = 20 #報錯(標識符的數(shù)字不能開頭)SyntaxError:invalid syntax
name.age = 100 #報錯(標識符中不能出現(xiàn).)
名字 = 100 #python中,理論上可以使用中文來命名,但是不建議用
5. 關鍵字(保留字)
python保留用來表示一些特殊功能和特殊意義的標識符就是關鍵字
"""
首字母大寫才是關鍵字
'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'
"""
import keyword
print(keyword.kwlist)
6. 常見數(shù)據(jù)類型:
int,float,bool,str,list,dict,tuple,set,function等···
整型(int): 表示數(shù)字中所有的整數(shù)
浮點型(float): 表示數(shù)字中所有的小數(shù)
布爾(bool): 表示真/假的數(shù)據(jù),只有True和False(python里注意大小寫)
字符串(str): 表示所有的文本數(shù)據(jù)(單引號和雙引號都可以,Python單引號常用),例如'上海'
7. print函數(shù)
python內(nèi)置函數(shù),可以將括號里的任何內(nèi)容從控制臺輸出
1)括號中可以放數(shù)據(jù)(值)
print(100)
print(12.34)
print(True)
print('你好')
2)括號中可以放變量
age = 18 #聲明一個變量,并且賦值為18
print(age)
3)括號中可以放運算表達式
print(18+20)
4)一個print可以同時打印多個數(shù)據(jù)(讓多個數(shù)據(jù)用逗號隔開)
print(19,'小明',age)
8. input函數(shù)
語法:變量名=input(提示語句)--提示語句為字符串
當程序在執(zhí)行過程中遇到input,程序會停下來,直到輸入結束才接著往后面執(zhí)行
注意:不管在鍵盤上輸入什么內(nèi)容,返回/拿到的數(shù)據(jù)都是字符串類型
age2 = input('請輸入年齡:')
print('年齡:',age2)
2. 變量
1. 什么是變量
變量就是在程序中用來保存數(shù)據(jù)用的
2.怎么使用變量(變量的聲明/定義)
語法:變量名 = 值
說明:
a. 變量名:自定義命名,要求是標識符,不能是關鍵字
見名知義;所有字母都小寫,多個字母之間用下劃線隔開(PEP8)
b. =:賦值符號,不是等號,將右邊的值賦給左邊
c. 值:python支持的數(shù)據(jù)類型的數(shù)據(jù);已經(jīng)聲明過的變量
3.同時聲明多個變量
a.同時聲明多個變量賦相同的值
a = b = c = 10
b.同時聲明多個變量賦不同的值
a1, b1, c1 = 100, 200,300
print(a1, b1, c1)
name, age, gender = '小花', 19, '男'
4.注意
1)變量必須先聲明再使用
print(name,name2) #NameError:name'name2' is not defined
2)重新給變量賦值,新的值會覆蓋原來的值
class_name = 'py1901'
class_name = 'py1902'
print(class_name) #輸出py1902
5.變量的類型:
同一個變量可以存儲不同類型的數(shù)據(jù)
name1 = 'abc'
print(type(name1))
name1 = 100
print(type(name1))
type函數(shù):type(數(shù)據(jù)/變量) -- 獲取指定數(shù)據(jù)/變量的類型
6.python中聲明變量和變量賦值的原理
先挖坑將數(shù)據(jù)存起來(根據(jù)數(shù)據(jù)大小挖合適的坑),然后再將變量作為標簽貼到這個坑上
先在內(nèi)存中開辟合適的內(nèi)存空間將數(shù)據(jù)存起來,然后在變量中存儲這個數(shù)據(jù)在內(nèi)存中的地址
**為次方
num = 999**999
print(num)
3. 運算符
python支持的運算符:數(shù)學運算符、比較運算符、邏輯運算符、賦值運算符、位運算符
1.數(shù)學運算符:
+, -, *, /, //(整除), %(取余),**(冪運算)
+,-,*,/和數(shù)學中的加減乘除一模一樣
1) //:求商取商的整數(shù)部分
print(5 //2) # 2
print(3.9 //3) # 1.0
print(273 //100) # 2
2) %:兩個數(shù)相除取余數(shù)
print(5 %2) # 1
應用1:判斷一個數(shù)的奇偶數(shù) - 讓這個數(shù)對2取余,看結果是0還是1
應用2:獲取一個整數(shù)的低幾位 - 123 % 10 ->3
print(29398 % 100)
3) **: x ** y - 求x的y次方
print(2 ** 3) # 2的三次方
print(16 ** 0.5) # 16開平方
print(8 ** (1/3)) # 8開三次方
4) 支持混合運算,混合的時候先算冪運算,然后再算乘除取余,最后再加減;有括號先算括號里面的