1. 程序
為了完成某種特定功能,以某種程序設計語言編寫的有序指令的集合。程序是指揮cpu工作的“工作手冊”。計算機只能執行二進制代碼,程序設計語言一般類似英文,想要讓計算機理解你寫的程序,必須把程序代碼“翻譯”成計算機能理解的二進制代碼,根據翻譯形式的不同,可以分為:
編譯 將程序代碼翻譯成計算機能理解的二進制目標代碼,會生成特定的可執行代碼(在window上是exe文件),可執行代碼是二進制的,無法看到源代碼。然后執行可執行代碼就可以得到想要的結果
c、c++、oc等
解釋 將程序代碼一句一句翻譯為計算機可以執行的指令,立即執行,不會生成可執行文件
python、php、JavaScript等
2. python簡介(了解)
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節期間,為了打發無聊的圣誕節而編寫的一個編程語言,第一個公開發行版發行于1991年。
python的特點:
a.是一種解釋性語言【開發過程中沒有了編譯的環節】 |
b.是交互式的語言【可以直接互動執行Python程序】 |
c.是面向對象的語言 |
d.是跨平臺語言【可以運行在不同的操作系統上】 |
e.適合初學者 |
3. python的開發環境的搭建
詳見環境搭建文檔
4. 第一個python程序
4.1 常用的dos命令
cd ? ? ? #進入指定目錄
cd .. ? ? # 退回到上一級目錄
cd ..\.. # 向上退回兩級目錄
cd \ ? ? #切換到根目錄
?
盤符名稱: ? ? #切換盤符
dir ? ? #列出當前文件夾下的所有的子文件夾和文件
cls ? ? #清空控制臺
exit ? #退出命令行模式
4.1 交互式
開始->運行->cmd,然后在命令行模式輸入python,回車。
C:\wh1803\1\code>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>
###4.2 使用pycharm
新建一個python文件,后綴必須是py,編寫代碼:
print('人生苦短')
print('我用python')
4.3 代碼執行順序
從上到下,從左至右
4.4注意事項
5 變量(重點)
計算機本質上是一種可以執行計算的機器,這里的計算是一種廣義的“計算”,計算機上所有的處理都可以看做是計算。要計算必須的有數據,在程序中如何表示數據呢?
在程序中,我們一般以變量表示數據,所謂變量:
5.1 變量定義
變量定義: 變量名 = 值(對象)
#1單個變量定義
name = '楊冪'
age = 20
?
#2多個變量定義
num1 = num2 =num3 = 10 #定義了三個變量num1,num2,num3,他們的值都是10
?
#3元組賦值
a, b = 10,20 #10賦值給a,20賦值給b
?
#絕對不可以這樣定義
a = 2, b = 3
5.2 變量命名規范
變量名也可稱之為標識符(變量名、函數名、類名、包名等統稱為標識符),其命名要符合python的語法要求:
5.3 變量命名風格
好的變量命名風格應該見名知意,有意義。
小駝峰命名:myBook ? yourMoney下劃線分隔:my_book ? your_money
###5.4 變量輸入和輸出
5.5 變量刪除
刪除后變量就不存在了,不能夠在通過變量名進行存取了
del 變量名
5.6 變量和內存
python中一切都是對象,python中變量保存了對象的引用,變量的好比是一個容器,容器中保存的變量所指對象的引用(地址);變量本身是沒有類型的,變量的類型是指其所指對象的類型,比如說變量是一個瓶子,盛了醋就是醋瓶,盛了醬油就是醬油瓶
num1 = 10
print(id(num1)) ? # 查看變量所指對象的地址
print(type(num1)) # 查看變量的類型
5.7 注意事項
6 常量
程序在運行的過程中,值永遠不會發生改變的量稱之為常量
python沒有專門的常量類型,一般約定俗成使用大寫表示常量
# 圓周率
PI = 3.1415926
?
# 我的生日
MY_BIRTHDAY = '2008/2/29'
7 注釋
python解釋器不解釋、不執行注釋
8 數據類型
不同類型的變量可以進行的運算是不同的,所以必須理解變量的類型,python中數據類型可以分為:
###8.1 基礎類型
優點
簡單、易學;可移植性;可擴展性,可嵌入式;豐富的標準庫;支持各種主流數據庫;支持GUI編程【圖形化編程】
缺點
a.運行速度慢
b.代碼不能加密
python應用:
web后端開發
網絡爬蟲
人工智能
自動化運維
網絡編程
國內:豆瓣、百度、阿里、新浪等都在使用python;國外:Google、FaceBook、Twitter
優點:所見即所得
缺點:代碼無法保存,下一次執行要重新輸入;代碼長了,無法維護
退出交互模式可以輸入exit()
python文件后綴以py結尾
一行一個語句,不用以分號做結尾
如果一行上有多個語句,則每個語句必須以分號做結尾
文件名盡量不用使用中文,不要包含空格
不要混合使用tab鍵和空格縮進,縮進用于區分代碼塊
除了在引號里(單引號、雙引號)中,其它地方不要使用中文,要用英文半角
python編碼規范遵循PEP8(https://www.python.org/dev/peps/pep-0008/)
變量是用來保存數據的
在程序中,變量的值是可以改變的,所以叫變量,不能改變的叫常量
由數字、字母、下劃線組成,不能以數字開頭
嚴格區分大小寫
不能是python的關鍵字(保留字)
獲取python的保留字
import keyword
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']
?
見名知意,有自描述性
不建議使用中文命名變量
一般變量可以用小駝峰規則:變量名由多個單詞組成,第一個單詞首字母小寫,其它單詞首字母大寫
也可以全部變量名都小寫,單詞之間用下劃線分隔
變量輸出
print函數 作用:將數據顯示到屏幕
用法:顯示字符串print('hello')顯示變量age = 20print(age)顯示多個字符串和變量age = 20sex = '男'print('俺是大傻',age,sex)格式化顯示name = '大傻'age = 20#%s和%d叫占位符,替變量站了位置,顯示的時候會用變量的值替換占位符#占位符和和后面小括號里的變量一一對應print('俺是%s,俺今年%d歲了'%(name,age))常見的占位符%s 字符串占位符%d 整數的占位符%f 浮點數的占位符
變量輸入
input用于輸入數據給變量
#input括號中字符串用于提示用戶,不用輸入
age = input('請輸入你的年齡')
print(age)
python中變量的所指對象的地址可以用id函數獲取
獲取變量的類型可以使用type函數
變量必須先定義后使用
=兩邊要留一個空格
注釋的優點:
注釋可以提高代碼的可讀性、可維護性。
保留代碼
方便調試
注釋的書寫格式
單行注釋,以#開始,一直到本行結束都是注釋
#這是單行注釋
?
age = 20 #這也是單行注釋
多行注釋
#1.使用三個單引號
'''
中間的任何內容都是注釋,
可以有多行
但中間不能再有三個單引號
?
'''
?
#2.使用三個雙引號
"""
中間都是注釋內容
但不能出現三個雙引號
"""
注意
單行注釋一般出現在注釋代碼的上面和右面
良好的注釋是一個優秀程序員的基本素質
不要每行代碼都加注釋,只注釋比較難懂的代碼,或對變量說明
內置類型
數值類型:整型(int),浮點型(float),復數 3+5j(complex)
str:字符串
bool:布爾值【True,False】
None:空值,表示變量沒有確定的值
list:列表
tuple:元組
dict:字典
set:集合
自定義類型
class :類
字符串(str):在python中,可以使用字符串表示文本
字符串的表示
# 用單引號表示: 'hello'
# 用雙引號表示:"我用python"
# 用3個單引號表示:可以表示多行文本,例如:'''偉大的祖國'''
# 用3個雙引號表示:可以表示多行文本,例如:"""生死看淡,不服就干"""
轉義字符:有些特殊字符無法從鍵盤輸入,可以使用轉移字符表示,另外,無論是單引號、雙引號還是雙引號字符串,在單引號字符串中如何表示一個單引號呢,這也可以使用轉義字符表示。常見的轉義字符
轉義字符 | 描述 | 轉義字符 | 描述 |
---|---|---|---|
| 表示一個普通字符單引號 | \r | 回車 |
| 表示一個普通字符雙引號 | \n | 換行 |
| 一個普通的三單引號 |
| 一個普通的字符\ |
| 一個普通的三雙引號 | \a | 響鈴 |
\t | tab鍵 | \b | 回刪一個字符 |
字符串編碼:計算機只能識別二進制,那么字符串如何存儲到計算機里呢
計算機不能直接存儲字符串,但我們可以將字符編碼,例如用65表示大寫字符A,66表示大寫字符B....等這種表示方式就是美國類的ASCII碼,只能表示127個字符,但對于美國人來說已經足夠了。一但能用整數表示字符,我們可以很方便的把整數用二進制表示,那么字符串也就和容易存儲到計算機了。
但還有很多其他國家的語言是不能用ASCII表示的,所有ISO組織就推出了unicode碼,用來表示任何一種語言的字符,unicode碼也稱之為萬國碼,通用碼,可以表示任何一種語言的任何一個字符。unicdoe碼有多中表示方式,例如:utf-8、utf-16、utf-32等。一般使用較多的是utf-8,utf-8是一種變長的編碼,表示一個字符可能用一個字節,也可能是三個字節
中文常用編碼一般用GBK編碼,用2個字節表示一個漢字
?
None:表示空對象,一般用于判斷,不同于0和空字符
布爾型(bool):表示事務的兩種狀態,男女、陰晴、亮暗等,它只有兩個值:True,False
數值型可以分為:
整型(int): python3中只有int一種,可以表示整數,例如:10,-5,10000
浮點型(float): 表示帶小數點的實數,有兩種表示法:
小數表示: 1.9 .23
科學計數法: 用e來表示10的指數,1e2就代表了100,注意e前面必須有數值,e后面必須為整數
復數(complex):表示數學上的無理數,形如:a+bj