python入門基礎筆記



新想法:
    送礦泉水---送貨app






linux操作系統
    bin  sbin 可執行程序
    home 目錄
    temp 臨時生成的目錄

根目錄:
    /
用戶目錄:
    用戶工作目錄或家目錄
    /home/user

相對路徑:
    上一層路徑(父目錄) 。。
    當前路徑 。
    根目錄 。。和。 都是代表根目錄

文件的權限:
r --read
w --write
x --執行

Linux命令操作:最少的有200個
    Linux命令格式: command [-options] [parameter]

    黑窗口 ctrl + shift + +/- 字體放大縮小

    ls 顯示當前路徑
    pwd 顯示當前路徑 
    cd 。。 跳轉到
    ls -l   查看的文件夾和文件
    drwxrwxr文件
    - 文件夾

    cd 文件夾: 跳到文件或者文件夾

    自動補全功能
      cd D(ownloads) cd + table鍵

     空格鍵  翻頁功能

     q 退出文件

    歷史命令:
    history 

    touch 1.py  在當前目錄創建一個1.py文件(前提是獲取超級管理員權限)
    ls -lh 查看文件,並將文件的大小以kb的形式顯示出來
    ls -alh 顯示隱藏文件並顯示以kb大小的文件

    ls *.py 顯示以什麼結尾的文件

    ls 1.* 顯示以1開頭的文件
    ls 1?* ? 代表站位符
    ls 1[23]3.py [23]裏面代表是2或者3的
    ls \*a 查找文件名爲*a 的文件

    重定向:
    ls -lha >ls.txt 創建文件,並將內容顯示到文件中 
     --> 接下來用記事本打開:gedit   ls.txt

     ls -lha >> ls.txt: 在ls.txt文件中繼續追加內容,前面的內容不擅長
     cat ls.txt 查看文件內容,不可以編輯
     more ls.txt 分頁顯示,按空格進行查看頁面內容

     水管功能
     ls -alh | more  右邊的程序調用左邊的程序,就是將左邊的程序顯示到右邊去。

     cd ~  ---> pwd 跳轉到家目錄

     cd ctrl c 強制停止
     cd ctrl z 強制停止
     cd -  快速回到上一次路徑

     pwd 顯示當前文件路徑

     mkdir 創建文件夾
     rmdir dongge/      移除文件夾 remove的意思,刪除非空文件夾
     rm 2.py            刪除文件
     rm dongge -r  刪除帶有文件的文件夾,遞歸的刪除

     rm dongge -rf 強制刪除帶有文件的文件夾


     創建鏈接文件ln         相當於快捷文件
     軟連接****
     ln -s 123.py  123link_s.py  前面爲源文件,後面爲快捷文件

     硬鏈接**** 
     同樣指向文件,不止一個快捷鍵指向源文件

     查看文件內容,cat  (也可以完成多個文件的合併)
     cat 234.py > 100.py  合併文件內容
     cat 324.py >> 230.py  合併文件內容

     grep ‘oo’ 101.py            模糊搜索 oo 在文件的位置

     grep ’箭頭上00‘  搜索以什麼開頭的
     grep [Hhello]

     拷貝
     cp 23.py test/  拷貝。。到哪個項目下
     mv 12.py test/ 移動
     mv 12.py   14.py 重命名
     tree  以樹的方式進行顯示

     打包
     tar -cvf(test.tar) *.py
     解包
     tar -xvf test.tar 

     壓縮包
     gzip test.tar ====> test.tar.gz
     gzip -d test.tar.gz  解壓縮操作--->test.tar

     打包解包
     tar -zcvf test.tar.gz *.py


     切換到超級管理員
     sudo -s  美元號變爲jin號


     系統管理

     查看日曆
     cal -2016


     查看時間   
     date 

     查看進程信息:ps
     ps -aux 查看進行程序

     ctrl +shift +z 打開新的命令窗口

     kill -9 823   絕對殺死程序

     需要管理員權限
     reboot 重啓
     shutdown 關機


     top 顯示資源利用率的情況

     df 檢測磁盤空間
     df -lh

     du  -a -lh 查看當前目錄的情況

    查看網卡信息:
    ipconfig

    ping 1201204.99  連接




第二天:

    在Ubuntu下:
    登陸用戶:
    who 
    當前登陸用戶:
    whoami

 遠程登陸電腦
 先ping 192.168.21.76
 然後
 ssh admin@192.168.21.76  --y
 who 查看當前登陸的用戶信息 whoami 查看我是誰
 ssh 用戶名@ip地址
 exit 退出


用戶管理:
    1sudo -s
    2,添加新的賬戶:useradd laowang
    3 passwd  laowang 輸入老王賬號的密碼,
    4 exit 退出,回到一開始的用戶,回到上一個用戶
    5 su - laowang  -->切換到老王的賬戶

    --> useradd loawang -m  --->自動創建家目錄

    cat /etc/passwd  查看所有的用戶名跟密碼


    刪除用戶
    userdel laozhang
    ubutun sudu 
    centerOS  su root


查看組:
groupadd aa
groupmod Ubuntu下
刪除添加組 groupadd www  groupdel www

修改用戶組
 usermod -g aaa laosong   aaa->變爲老宋
查看用戶所在組:groups python  (adm sudo)


改組的功能:
usermod -a -G adm laosong
usermod -a -G sudo laosong 

修改文件權限:chmod
-rw--W-r- - 
第一組表示文件擁有者權限 文件同組者權限可不可以執行)其他人_





Ubuntu下安裝軟件:
    命令行安裝:gedit /etc/apt/sources.list
    apt-get update 更新如那件
    apt-get install sl  安裝軟件包

    1  備份:
        cp /etc/apt/sources.list  /etc/apt/sources.list.backup
    2   修改 更新源
        gedit /etc/apt/sources.list
    3  sudo -s  切換到管理員
         可以爲 sudo 
    4 sudo apt-get update 讓更新源生效    

    5 sudo apt-get install  軟件的名字

    6 刪除軟件
        sudo apt-get remove package 刪除包
        sudo apt-cache search package 搜索軟件包
        sudo apt-cache show package 獲取包信息
        sudo apt-get install  package --reinstall 重新安裝包
        sudo apt-get source package 下載軟件的源碼
        ------等等

    ftp服務器(常用服務器構建)
    FTP : File Transfer Protocol 文件傳輸協議

    安裝vsftpd服務器\

     sudo apt-get install vsftpd
    配置vsftpd.conf文件
     sudo vi /etc/vsftpd.conf

    SSH 服務器搭建 
    sudo apt-get install openssh-server
    遠程登陸

    遠程拷貝文件
    scp -r(是否上傳文件夾) FileName 源文件  用戶名@ip :home/python/Desktop 文件地址
    從遠端拷貝到本地:
    scp python@IP  本地路徑  遠程文件路徑+文件名

    拷貝到-->
    scp a.txt 128.128.323.23:/home/python/Desktop


編輯器vim Visual interface 簡稱
    vim hello.py
    1 打開vim後 默認進入一種狀態->命令模式
    輸入小寫i --》由命令模式轉換到編輯模式

    esc --》 退出編輯模式

    末行模式:光標在最後
        編碼模式按下esc狀態 --》輸入: wq (保存退出)
    等於  ---:x


vim 常見命令:
    上下左右移動hjkl
    選中字母按下i 輸入abc 會再i前面輸入
    選中字母按下a ,輸入abc 會在字母后面輸入abc

    輸入I/A 直接跳到行首,輸入abc,會在行首出現abc
    輸入O/o 從命令模式進入編輯模式

    G/g 快速定位到9, --》9G 此時並沒有進入編輯模式
    快速回到最後一行 G          --gg 回到第一行

    w 一個單詞一個單詞的調 w-word
    { 段落的跳

    刪除 dd 一行
    5dd 指定數 向後刪除5行
    u 撤銷

    x 向後面進行刪除
    X 向前面進行刪除

    D 光標後面到行末全刪除
    D0 

    ctrl +r 反撤銷 
    文本右移/左移  》

    :q! 強制退出並不進行保存

    yy張貼 p複製 : 張貼複製

    p2 yy : 下兩行進行復制張貼

    dd 剪切/刪除的功能
    rH 替換

    : 5,15s/main/MAIN/g 指定行數的替換

    v 選中代碼 }} 右縮進

    : 12,23 >>> 整體縮進3次 行數開頭,行數結尾



python 基礎課程開始

使用地方:

Web應用開發:後臺開發
    Django,TurboGears,web2py,Zope等可以輕鬆開發和管理複雜的web程序
操作系統管理,服務器運維的自動化腳本
    python可以做翻牆軟件
科學計算
    NumPy,SciPy,Matplotlib 編寫科學計算程序
桌面軟件
    PyQt,PySide,wxPython,PyGTK快速開發桌面應用程序
服務器軟件

遊戲
    Python支持更多的特性和數據類型,Lua的功能簡單,體積小,
構思實現,產品早起原型和迭代
    YouTube,Google,Yahoo,NASA都在使用python

第一種方式:
    直接在命令行中輸入 print ("dsf")
運行 python helloworld.py 第二種方式

第三種方式:
vi helloworld2.py
 chmod u+x helloworld.py

在python文件第一行
#!usr/bin/python --> 判斷是否有可執行程序


註釋:以#開頭的就是註釋
多行註釋:‘’‘
            的沙發斯蒂芬
          ’‘’

讓python 支持中文 
    在文件第一行加入
    #encoding=utf-8

數據類型:

    Numbers數字
        int 有符號整型
        long 長整型,也可以代表八位和十六位進制
        float 浮點型
        complex 複數

    boolean   truefalse
    String字符串
    List列表
    Tuple元祖
    Dictionary字典

    查看符號類型type(var)


    查看系統關鍵字:
        import keyword

    打印值:
    print("my english scrore is %/d"%scrore)
    print("my english scrore is %/d ,,,math scrore is %d"(score,mathScore))

\n 換行


數據類型轉換:
 num= int("100)


python3 input 
python2 raw_input input

if age>10 and money >100 and handsome ==1:
    print("他是高富帥") 
else:
    print("呵呵")



if 條件:
    滿足條件的時候做的事情
elif 條件2:
    滿足條件2的時候坐的事情
elif 條件3:
    滿足條件3的時候做的事情



if tiaojian:
    pass #進行佔位



import random
random.randin(3,5)
產生3,5的隨機數


數據的顯示問題:
    %-2d  不夠兩位也要佔用兩位,靠左邊顯示

9*9乘法表視頻 

for 變量 in XXX列表或者字符串等:
    循環滿足條件時執行的代碼
else:
    循環不滿足條件時執行的代碼


查找是否存在
if findName  in nameList:
    print("找到了")
else 
    print("沒有找到")

不存在 not in

返回字符在字符串中的下標:index   names.index("a")

刪除
del:根據下標索引進行刪除
pop:刪除最後一個元素
remove: 根據元素的值進行刪除

列表的操作:
增
  append() insert(下標,“a) insert(2,"acb")
刪
  del moveNames[0] 下標刪除
  movieNames.pop() 刪除最後一個
  movieNames.remove("喜洋洋") 按照元素的值進行刪除

改
    if "acv" in names:
        xx
    not in

    index()

    count()

    自己編寫代碼來實現:在遍歷的過程中宏進新年給判斷,如果找到了那麼久標記退出,如果麼有找到標記,退出
查   


列表的嵌套:
        列表裏面還有列表
        [['北京大學','清華大學'],[‘南開大學’,'天津大學'],['山東大學']]

for temp in schoolNames:
        print(temp)
        for temp2 in temp:
            print(temp2)
        print("----------")


元祖只要不是修改都可以進行操作。相對於列表來說。

全局變量
    如果需要進行全局修改,需要在修改之前設置 global

全局變量在方法中都可以進行調用。

break 退出循環

python的引用:
使用id
a = 100
id(a) --->得到一個地址的引用

魔法方法def __str__(self):
            return "dsfsadf"


類方法:
@classmethod
def setNewAddress(self):
    pass


類對象可以直接調用類屬性,也可以直接調用類方法
但是類對象不允許調用 實例屬性,並也不允許調用實例方法

如果是一個實例對象
 它可以獲取實例屬性和類屬性的值,但是隻能修改實例屬性,不能修改類屬性
 它還可以調用實例方法和類方法。


 異常的處理:
    try:
        進行的操作代碼
    except (IOError,NameError) as errorMsg:
        發生異常後的錯誤代碼
        print(errorMsg)
    else:
        沒有出現異常
    finally:
        不管有沒有異常,都會執行


    try:
        f = file(test.txt)
        while True:
            line = f.readline()
            ....
    finally:
        f.close()
        print("關閉文件")


raise 引發一個自定義的異常類
raise ShortInputException(len(s),3) // 自定義的異常



python常用三方api

PIL:Python Imaging Library,已經是Python平臺事實上的圖像處理標準庫了。PIL功能非常強大,但API卻非常簡單易用。

由於PIL僅支持到Python 2.7,加上年久失修,於是一羣志願者在PIL的基礎上創建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了許多新特性,因此,我們可以直接安裝使用Pillow。


飛機大戰
通過練習,將對象思想結合到一起


from PIL import Image

# 打開一個jpg圖像文件,注意是當前路徑:
im = Image.open('test.jpg')
# 獲得圖像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 縮放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把縮放後的圖像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')


PIL的ImageDraw提供了一系列繪圖方法,讓我們可以直接繪圖。比如要生成字母驗證碼圖片

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 隨機字母:
def rndChar():
    return chr(random.randint(65, 90))

# 隨機顏色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 隨機顏色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 創建Font對象:
font = ImageFont.truetype('Arial.ttf', 36)
# 創建Draw對象:
draw = ImageDraw.Draw(image)
# 填充每個像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 輸出文字:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章