第一天 2018/5/25
Python生態圈
1.web開發 Django框架
2.人工智能
3.雲計算
4.金融量化分析、自動化貿易
5.爬蟲 定向抓取相關網頁資源
6.自動化運維
7.科學運算
8.遊戲開發
2018/5/28
編程語言介紹
1.寫讓計算機識別的語言,就是編程。是怎樣將 易懂的人的語言 讓識別二進制的計算機認識?
機器語言
彙編語言
高級語言
不一樣高級語言,轉二進制方式不一樣。兩種本質區別:一種編譯型,編程完再轉二進制,運行速度快,跨平臺能力差, C、C++;一種解釋型,寫一句轉一句,運行效率低,不生成二進制文件,可跨平臺,開發效率高,Python、Java。
問題:1 跨平臺,在 部署時、使用時是怎麼理解
2 解釋器 eclipse和安裝的Java 哪一個是解釋器?
2018/5/29
Python發展史
龜叔
CPython 是經常使用的Python解釋器 用C語言開發的python
python3.0以上是如今使用的。2.x正在淘汰
2018/5/30
Python安裝
windows版
我選擇了windows版的3.6.5版本,下載安裝在臺式機
C:\Users\helinying\AppData\Local\Programs\Python\Python36
安裝速度比較快,比JAVA快得多
第一個python程序的運行
windows版 在cmd裏不能直接運行 python命令,須要先設置環境變量,path=C:\Users\hly\AppData\Local\Programs\Python\Python36。就能夠在交互器裏 輸入 Python 查看版本。 交互器是用來對代碼調試做用,嘗試一下語句的使用是否正確。
linux版
linux自帶python2.7.5。若是想裝python3+版本再下載。我下載的tgz格式的壓縮包
tar zxvf Python-3.6.5.tgz -C /python
此時 我在終端輸入 python3 未能識別,還不能用。
百度還需安裝依賴環境等工做,未作
===============================================================
2018/6/4
變量與變量的做用 :變量variables,臨時存放store在內存中供後面調用 manipulated
變量的定義規範
聲明變量
name = "xiaohe"
id( name ) 能夠查看變量的內存地址
python 官方建議
使用下劃線命名規則 age_of _oldboy = 50
常量使用 字母所有大寫的方式 表示 (約定俗成)
以單下劃線開頭 _foo 的表明不能直接訪問的類屬性,需經過類提供的接口進行訪問,不能用 from xxx import * 而導入;java
以雙下劃線開頭的 __foo 表明類的私有成員;以雙下劃線開頭和結尾的 __foo__ 表明 Python 裏特殊方法專用的標識,如 __init__() 表明類的構造函數。python
2018/6/5
交互和註釋
user_name =
input("username:")
print("Hello"+user_name )
數據類型-基本類型
python 聲明變量的時候
不須要定義數據類型。想要查看對象的類型時 能夠用 type(o)
python3裏沒有long了,都是int
python中加了引號的字符都被認爲是字符串。單引號、雙引號沒有區別,只用來區分一句中引號。字符串多行 要用多引號(三個引號)
python中字符串相加/拼接 必須類型都爲字符串,不能與數字或其餘類型相加。
除了能夠相加,還能夠乘數字,如5,表示同一字符串拼接5次。
布爾類型 if a<b print ("") else print("") 沒有大括號
2018/6/6
(sublime裏 Ctrl+shift+d 複製當前代碼行到下一行)
(pycharm裏 Ctrl+Alt+↓ 複製當前代碼行到下一行)
ctrl+D 刪除當前行
多行語句
使用斜槓( \)將一行的語句分爲多行顯示
total = item_one + \
item_two + \
item_three
語句中包含 [], {} 或 () 括號就不須要使用多行鏈接符
days =['Monday','Tuesday','Wednesday','Thursday','Friday']
格式化輸出
==
引號 若不跨行 可以使用一個單引號或雙引號,' ' %(參數1,參數2,參數3……)
%s 表明此處佔位符 表示string類型。還可爲%d (digit)、%f(float)
age = int ( input("Age:") ) // 類型轉換 input 返回的內容永遠爲字符串
indentationError :縮進錯誤
。python句子開頭不可隨便加空格。 syntaxError:語法錯誤。AttributeError:訪問未知屬性,多是文件名命名與引入文件相同
2018/6/7
運算符
:算數運算、比較運算、邏輯運算、賦值運算等
算數運算
+, - , * , / , %取模(獲得除法的餘數),能夠經過a%2爲0或1,判斷a的奇偶性;冪 ** ,如2**3 爲8;//整除,10//3 爲3;
賦值運算 =, c+=a 等同於 c=c+a,同理 -=,*=, /=, %= , c -= a (c = c-a ) ,c /=a (c = c/a) c在前面
比較運算 ==, != , <, > , <= , >= ;
邏輯運算 and , or , not
單雙分支(流程控制)
單分支語法:
if 後面的頓號,下面的一個tab空格!
python 句尾通常也不寫分號;兩句放一行須要寫,但通常不要放一行。
雙分支語法:
注意此處 else拼全了,後面不能再跟條件,直接冒號的。
此處有用戶密碼 登陸 的編程講解 09分
2018/6/11
多分支語:
注意 爲 elif,最後一個無條件的是else
if 條件:若是什麼也不想作,能夠pass ,繼續執行下面的語句
while循環語句 (循環語句還有 for name
in
names,以及將for 和 while嵌套使用的循環)
while 條件:
xxxxxxx 當while條件成立時執行,通常會有自加的語句,count +=1,會讓執行一段時間後中止
2018/6/12
continue vs break 循環終止語句
break徹底終止跳出循環體,continue 終止本次循環,繼續執行後面的循環
死循環 可以使用Ctrl+C終止
python專有
while ...else 語句 for循環 也有else
while後面的else是指,當
while循環正常執行完,中間
沒有被break終止,
就會執行else後面的語句
開發工具 pycharm
功能:
,後兩個功能須要用professional版(收費)
用它建立文件夾 --Directory,建立文件 --Python File.。 console,terminal,run,debuge功能區
個人安裝過程:
官網進入,點擊download,兩個版本,先
選擇community 下載
安裝選項,Create Associations是否關聯文件,選擇之後打開.py文件就會用PyCharm打開。Create Desktop Shortcut建立桌面快捷方式,一個32位,一個64位,64位系統選擇64位。勾選Download and install JRE x86 by JetBrains,會下載安裝JetBrains版的x86 JRE運行環境,沒有安裝的,能夠選擇勾選。
我沒選下載JRE,之前安裝java 時候裝過,如今還須要麼?
2018/6/13-6/15
熟練pycharm和完成第一章做業
列表 數據類型-數據集
1,建立
使用[] 、‘’單引號或雙引號 和,
2.查詢
len()可查看列表長度 len(L2)
3,
切片 取列表中間的一部分
L2[0:3] 0和3中間爲冒號,表示取列表中序列從0到2的值 ['a','b','c'](顧頭不顧尾),也可寫爲L2[:3]從頭取冒號前面可不寫,從尾取,冒號後面可不寫,如 L2[-3:] 的值爲 ['e',1,2]
方括號還可使用第二個冒號,表示步長。如 L2[:3:2] 的值爲 ['a','c'] 每兩個/隔一個取值
4,增長,修改,刪除元素
追加
.append('') 一個參數 如L2.append('3')會
加到L2結尾
插入
.insert(index,'') 兩個參數如 L2.insert(0,3) 將3加入索引爲0的位置
修改
直接賦值 如
L2[2]=3
則L2變爲 ['a','b',3,'d','a','e',1,2]
批量修改
L2[1:3] = 'AB CD' 左右兩邊的數量能夠不一致,能夠將後邊全部元素放到左邊所選的位置,可能會增長或減小列表數量 此時 L2 = ['a','A','B',' ','C','D','d','a','e',1,2]
刪除 .pop() 無參數 值爲最後一個元素,並將列表中最後一個元素刪除L2.pop()爲2,此時 L2 爲['a','b','c','d','a','e',1]
.remove('') 一個參數 移除遇到的第一個元素 L2.remove('a') L2=['b','c','d','a','e',1,2]
del L2[2] L2=['a','b','d','a','e',1,2] del L2[2:5] del L2
.clear() 無參數 清空列表 L2.clear() L2 = []
5, 循環、排序
循環 for i in L2: i爲此處聲明的一個臨時變量,將L2中每一個值依次賦給i
print("i")
rang(10) 建立了0-9的列表
排序 .sort() 無參數,當列表中元素類型同樣是,從小到大排序
.reverse() 把當前列表原地倒轉 reverse後返回列表自己可看到
6,列表拼接
n1+n2 或者 n1.extend(n2)
7,其餘
.copy()
b = a.copy() 將b=a是將b指向了a指向的地址,a若是從新被賦值指向其餘地址,b爲原地址不受影響,而集合中若是隻改變 裏面的元素,地址未變,b也會跟着被改變 .而使用copy(),則a,b無關,只是將b同樣的值賦給了a,改變b不影響a
此爲
淺copy 可查看代碼深淺copy
import copy
copy.deepcopy( names) 此爲深copy
enumerate(list)
枚舉 成爲(索引,元素)的集合
結果:
結果:
.isdigit() 判斷是否爲數值
2018/6/15
二進制
十進制數轉二進制 bin(十進制數)
=0b+ 二進制數 0b表明二進制
ASCII碼
計算機將ASCII碼與十進制數0-255作了對應表 ASCII碼錶
因此文字能夠進行二進制轉換。
每一個字符佔8位(bit比特),一共能夠表示256個
GB2321
國標碼 簡體中文 收錄漢字6763個
GBK
繁體和簡體,收錄漢字2萬多
Unicode國際編碼,支持多國語言 全部字符(包括英文)佔兩字節
UTF-8 讓ascii碼的字符佔1個字節,歐洲字符佔兩個字節,東亞(中文)三個字節
python2 默認爲ASCII碼,python3默認爲UTF-8,因此用python2 編譯帶中文代碼時,須要改變默認語言
具體能夠查看
# -*- coding: UTF-8 -*-
2018/6/16
引入其餘源
from
decimal import * 從decimal庫引入全部
getcontext(). .... 設置源參數
浮點數
python和JavaScript同樣,直接定義超長精度小數會不許確,能夠用分數代替
注意
不要將python代碼文件命名爲python預留字,模塊名等。特別不能與import 文件名同樣
容易出現 AttributeError: ‘module’ object has no attribute ‘ArgumentParser’ 此樣錯誤
2018/6/21
字符串 深刻講解 數據類型 - 基本型
特性:有序、不可變
pycharm 一樣能夠點 alt+鼠標點擊,進入方法 ,可查看python源碼,查看各類方法的解釋
s.capitalize() 首字母大寫,其餘小寫
s.casefold() 忽略大小寫即全小寫
s.find('o',0,5) 在0到5序號位上查找字母O,有則返回位置,無則返回-1
s.expandtabs() 控制tabs/空格數量
s.format()用法 見下圖
直播課
學習方法:輸入+輸出+糾正