第一天

第一部分 準備工做
1、計算機入門知識
1. 語言:進行溝通的方式
計算機語言:跟計算機溝通的方式
2. 機器語言:計算機可以識別的語言。二進制(0,1)。高電位 低電位
彙編語言:助記符 add a b 低級的語言
高級語言:java python php c c++ .net go
3. 計算機的語言執行方式分:
編譯執行:被編譯一次以後,編譯成二進制,下一次再執行直接執行二進制文件。
可移植性差。可是執行效率高。適合狀況:windows,底層的,不常常修改需求的系統。
解釋執行:每次運行都會解析一次原碼,運行效率低,可是可移植性好。
適合的狀況:開發網站,辦公系統...需求常常修改開發
2、python簡介
1.python歷史

(1) 荷蘭的龜叔 教學語言ABC 失敗, 不是開源的
        1989 聖誕節 python ,彌補ABC 不足, 實如今ABC 中沒有實現的理想。
python是巨蟒, 飛行的馬戲團
(2) 爲何如今纔開始火?
機器學習---facebook出的工具torch ---python出了python ----python完全火了
2. python的版本
2x
到2.7以後就不更新
3x,python社區主動推行3x:摒棄2裏面的設計缺陷
3.python的特色
存在即合理
(1)語言簡潔 :人生苦短,我用python
(2)面向過程、面向對象
(3)解釋執行的語言:跨平臺
(4)擴展性強:膠水語言
(5)強大的庫進行支持
4.python的缺點
(1)速度
(2)原碼不能加密
5.應用領域
(1)web開發:django
(2)網絡爬蟲
(3)數學分析科學計算
(4)遊戲編程
(5)人工智能
3、安裝
1. python的安裝
注意:勾選 add path
2.開發工具的安裝pycharm
4、環境變量
是操做系統中路徑的集合
操做系統中的特殊信息,爲了進行區分,不一樣的環境變量取不一樣的名字
path環境變量,記錄的是能夠直接找到exe可執行文件的路徑
能夠經過echo %path% 命令查看path的全部內容
能夠經過set path=路徑,進行添加路徑。 可是這種方式,當關掉窗口以後,就會失效了。
經過圖形界面:環境變量,進行永久修改。
5、python的執行
1. 交互:先使用python命令,調用python解釋器,再輸入python命令進行執行
程序是一行一行執行的,執行完成以後,等待下次輸入
2. 腳本:把代碼都放在一個腳本(.py)文件
執行的實行,輸入python,調用解釋器,輸入文件名(注意,文件必須在命令執行的路徑下)
python 路徑文件名.py
說明:
交互執行和腳本執行的區別:
交互模式至關於一行一行的執行源代碼,每輸入一行就執行一行
腳本模式至關於啓動python解釋器以後,一次性的把py文件(源代碼)執行,沒有機會進入人機交互
第二部分 變量+常量
1、變量
1.變量的定義和內存結構
  變量:變量用來使用指定的名字綁定特定的值
格式:變量名 = 變量值
注意:= 不是數學意義上的等號,而是賦值的概念
變量值賦予變量名
使用變量名綁定了變量值
其餘語言裏:變量賦值的過程,能夠當作是把變量存儲在一片內存中,這一片內存就是變量,靜態語言
python:變量賦值能夠當作給變量貼標籤的過程

當咱們去寫
a="ABC" python解釋器:作兩件事:
1.在內存中建立"ABC"
2.再建立一個a,而且把a指向ABC
2.多個變量指向同一個內存地址
python 基於值的內存管理,不一樣變量綁定相同的值,內存中對於不可變類型來講,只有一份值
3.修改變量綁定
一個變量一次只能綁定一個值。若是修改這個變量的綁定,跟原來的值進行解綁
python是弱類型語言,一個變量能夠綁定多種類型的值
4.同時爲多個變量進行賦值
a=b="abc"
5.變量定義的注意事項:
(1)英文、數字和_組合, 數字不能開頭。標識符。
(2)變量在使用以前必須命名,變量只有被賦值以後才能在內存中被建立
6.變量的刪除
刪除的是變量名,不是變量值
2、常量
1. 普通變量
說不能變,定義常量的規則,將變量名所有大寫

PI=3.1415926
2. None類型NoneType
內置常量,表示變量值的缺失
使用場景:在定義變量時,必須給變量一個明確的值的時候,會使用None來定義
None絕對不是空串,也不是0
第三部分 輸入輸出
  輸出 print, 會自帶換行\n
在ptint 中設置end會設置print默認的結束符號,默認結束符號是\n
print("hello world","java","python",end="")
print("goodbye")
使用sep 設置分隔字符,分隔的是每個,的內容
print("x","y","z",sep="-")

輸入 input(提示信息),阻塞狀態的函數,執行input以後,程序會等待輸入
i=input("請輸入內容:")
print("剛纔輸入的內容:",i)

註釋:都不通過python解釋器解釋
單行註釋
使用# 註釋一行內容,從#開始,一直到本行結束,都屬於註釋的內容


特殊註釋:用來設置python解釋器的位置,習慣上放在文件的第一行
內容:用來設置python解釋器的位置
#!/usr/bin/python3 通常狀況會在此路徑下
#!/usr/bin/nev python3 :從你的path環境變量中來搜索python3文件

內容:設置文件編碼
python3默認是utf-8
python2默認的是ASCII
#-*-coding:utf-8-*-

特殊的註釋,不會被python解釋器忽略

標識符和關鍵字
標識符:包括變量、函數、方法
注意:標識符不能跟關鍵字重名
標識符區分大小寫
關鍵字:python中具備特殊語義的符號。

**map(函數,迭代對象):把迭代對象中的每個元素都按照函數執行
def a(x):
    return  x + 1
b = map(a,[1,2,3,4,5])
print(list(b))
def map_new(func,seq):
    a = []
    for i in seq:
        i+=1
        a.append(i)
    return a
b=map_new(a,[1,2,3,4,5])
print(b)

 

第四部分 數值類型
1.整型 int
定義
a=(1)
b=1
print(type(a),type(b))
取值範圍
python語言其實分爲整型和長整型,
python中int c語言中long 取決於機型,32位機器 -2^31 2^31-1
長整型 能夠當作是無限大,實際上是計算處理不了,其實到了界限
python2.2版本開始,若是發生溢出,,會自動將整型轉換爲長整型
查看當前機型最大的整數值。
import sys
i=sys.maxsize
print(i)

**四種進制,逢n進位
二進制(使用0b或者0B做爲前綴)
八進制(0o或者0O)
十進制(無前綴)
十六進制(0x或者0X)0-9仍是使用0-9,10-15使用a或者A 到f或者F
* 進制的轉換
1,其餘進制轉換成十進制
乘冪
2,十進制轉換成其餘進制
下除法:除數是進制,最後的商,全部的餘數拼接

bin()轉換成二進制
int()轉換成十進制
oct()轉換成八進制
hex()轉換成十六進制


3,其餘進制之間的轉換
 *二進制和八進制   每三位做爲一個位
 *二進制和十六進制  每四位做爲一個位
  注意轉換函數以後得到的數據類型
除了int得到的返回自是數值類型int之外,其餘都是str字符型
  int還能夠將字符串轉換成數值類型int類型
print(int("111"))
#print(int("111.1"))
若是字符串不能轉換成整型,那麼會報錯
  int()函數能夠指定進制,若是不指定,默認按照十進制輸出
第一個參數,字符串
指定的方式,在int中第二個參數指定2,、八、16

  print(int("100,2"))
# print(int("120,2")) # 使用的時候要注意,若是指定進制,對應的數字必須符合指定進制的規範,不然沒法轉換

  布爾類型bool-----整數類型int的子類型
兩個值True 真 整數1 False 假 整數0 注意大小寫
*布爾類型雖然能夠當成1和0參與運算,可是通常不用這樣使用
# 應用
1.運算符 關係運算符
2.條件 if for while

# 浮點型 float,只支持十進制
# i=01  #定義整型的時候,不能在數值前加0
浮點類型定義時,能夠在前面加0
# 科學計數法: 把10 使用e代替
1.23*10^9
  取值範圍:浮點數不是無界限,
inf表明無限大 -inf 表明無窮小
*輸出浮點數的範圍
import sys
print(sys.float_info.max)
print(sys.float_info.min)

  特殊的浮點數: inf 表明無窮大  NaN(not a number)
NaN 跟誰都不相等, 跟本身也不相等
print(float("nan"))
x=float("NaN")
print(3==x)
print(x==x)

 能夠經過math函數中的isnan方法判斷當前變量是否是nan
import math
print(math.isnan(x))

 浮點數的不精確性
print(10/3) #浮點數只能取計算機近似的數

# 使用浮點數時要注意
1.不能將兩個數量級別差異很大的浮點數進行計算
2.儘可能避免進行等量的判斷

# 解決不精確性,decimal類型
import decimal
x=decimal.Decimal(0.1)
print(x)
y=decimal.Decimal(0.2)
print(y)

# 使用字符串進行運算達到浮點的精確計算
x=decimal.Decimal("0.1")
y=decimal.Decimal("0.2")
print(x+y) #運算時纔能有效?

#浮點數默認是有28位有效數字,可使用上下文環境修改有效位數
Context=decimal.getcontext()
Context.prec=10

x=decimal.Decimal(0.1)
y=decimal.Decimal(0.2)
print(x+y)

# 複數類型complex 實部+虛部
# 須要注意: 實部和虛部浮點類型

# 四種類型之間的轉換"""int(參數) 能把其餘類型轉換成整數類型   若是不給參數,默認輸出0float(參數) 轉成浮點類型    默認輸出0.0complex(參數) 轉成複數類型 默認輸出0+0jbool(參數)轉成布爾類型  默認輸出false"""f=0.1i=0c=1+2jb=Falseprint(int())print(float())print(complex())print(bool())print(int(f))  #當將浮點類型轉換成整型,直接截斷# print(int(c))  #不能把複數類型轉換成整型print(int(b))  #原來是False---0   True----1print(float(i))   #直接。0# print(float(c))  #不能把複數類型轉換成整型print(float(b))   #False---0.0    True---1.0# complex能夠將任何一個類型轉換成複數類型print(complex(i))print(complex(f))print(complex(b))#bool 布爾類型能夠對任何類型進行轉換print(bool(i))   #將整型轉換成布爾類型, 0False,其餘都是Trueprint(bool(i))   #0.0False 其餘都是Trueprint(bool(i))   #0j False其餘都是True
相關文章
相關標籤/搜索