2019.3-2019.9.6日的筆記

Lscss

Ls –ahtml

Ls –h前端

Ls –alhpython

Cdgit

Tree  #樹形結構查看當前目錄web

Man help面試

Clearubuntu

Rmwindows

Touchapi

Madit

Ls > xxx.txt

Ls >>xxx.txt

Cat

Gedit

More

Ls –alh bin/ | more

相對路徑

絕對路徑

Cd ./

Cd ../..

Cd /home/

Cd –

Cd ~

 

Ctrl+c #終止命令

Rm#刪除文件

Rm *.txt  #刪除當前路徑所有txt文件

Rm -r   #強制刪除

 

Mkdir A/B/C/D/E –P   #建立文件A裏面的B的C的E

Rmdir #命令能夠從一個目錄中刪除一個或多個空的子目錄

Mv原文件名 新文件名 #修改文件後綴名

Mv #真正功能是移動文件,還有剪切粘貼功能

 

 

Ln –s 原文件 新文件 #稱爲軟鏈接文件,至關於windows建立快捷文件,

Ln 原文件 新文件    #稱爲軟鏈接文件,至關於windows建立快捷文件

Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件內容重定向合拼在xxx.txt文件夾裏

Gedit 編輯查看內容

Grep 「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含「ntfs」

Grep 「^ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含以「ntfs」開頭的文件

Grep 「ntfs$」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含以「ntfs」結尾的文件

Grep  -n「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含「ntfs」在哪一行

Grep  -v「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容不包含「ntfs」

Cp #某文件複製粘貼到某個文件夾裏

Cp  A  B/  -r  #強制把A文件複製粘貼到B文件夾裏

 

Find  #從指定路徑找文件

Find / -name 「test.sh」#從指定路徑找文件「test.sh」

Find /tmp –size -2M  #查找在/tmp 目錄次啊等於2M的文件;+2M是大於,-2M是小於

 

Find --help #find命令功能,任何指令均可以用

 

Sudo #權限不夠的狀況下使用

 

壓縮解壓縮命令:

Tar  –cvf  xxx.tar  *.py #把全部帶.py的文件打包到xxx.tar 文件

Tar  –zcvf  xxx.tar.gz  *.py  #把全部帶.py的文件打包而且壓縮到xxx.tar.gz 文件

Tar  –zxvf  xxx.tar.gz  #把打包而且壓縮的文件包xxx.tar.gz 解壓

Tar  -jcvf  yyy.tar.bz2  *.py #把全部帶.py的文件打包而且壓縮到yyy.tar.bz2 文件

Tar  –jxvf  yyy.tar.bz2  #把打包而且壓縮的文件包yyy.tar.bz2 解壓

Zip  zzz.zip  *py  #把全部帶.py的文件打包而且壓縮到zzz.zip 文件

Unzip zzz.zip *py

 

 

 

 

Which  ls #查看ls命令原來是在哪一個路徑的文件,好比說ls命令針對的是bin/目錄下的命令

Cd  /bin/  #查看bin文件夾下的命令

 

系統管理命令

Cal  #當前日曆時間

Cal –y 2018   #2018年日曆

Date 「+%Y年%m月%d日」 #當前年月日格式

Ps  #任務管理器

Ps –aux  #查看當前運行狀況

Top  #查看當前運行狀況

htop  #查看當前運行狀況,這個更牛

kill  #關閉運行程序

kill  -9  ID號    #強制關閉ID號的運行程序

reboot  #重啓電腦

shutdown  –h  now #馬上關機

shutdown  –h  20:20   # 20:20馬上關機

shutdown  –h  +10   # 2系統十分鐘自動關機

init 0 #關機

init 6 #重啓

 

df #硬盤使用狀況

df –h  #硬盤使用狀況

du –h  #當前路徑使用狀況

ifconfig  #查看當前網絡信息  IP地址信息

ping  #測試遠程主機連通性

 

用戶權限管理命令

Useradd  python   #添加python帳戶

Su  #切換帳戶

Passwd  #設置密碼

Whoami #查看當前帳戶

Exit  #退出當前用戶,返回原來用戶

 

Ssh  python@172.16.7.139   #ssh+用戶名+@+id地址 遠程登陸電腦

Ctrl+shift+T   #創建新窗口,多用戶操做

 

 

Cat /etc/passwd  #查看建立的帳目

Sudo  useradd  gebilaowang  –m   #是建立用戶gebilaowang  -m是順便建立這個家目錄

Who  #查看當前全部登陸用戶

 

Rm / -rf   #從根目錄刪,嚴禁使用

 

Sudo  userdel  gebilaowang   #把gebilaowang帳號用戶刪了

Su – xxxx  #切換到xxxx用戶,-是同時切換到帳戶目錄裏面

Sudo –s  #切換到root超級管理員用戶

Cat /etc/group  #查看組

Groupmod +幾回tab鍵  #查看組

Sudo  groupadd  YYY  #建立YYY組

 

爲建立的普通用戶添加sudo權限

新建立的用戶,默認不能sudo,須要進行一下操做

Sudo usermod –a –G sudo 用戶名

Sudo usermod –a –G adm 用戶名

 

Chowm #修改文件全部者

Chgrp #修改文件所屬組

 

Chmod  u=rwx  文件名  #修改權限擁有者rwx可讀可寫可執行

Chmod  g=rwx  文件名  #修改權限同組者rwx可讀可寫可執行

Chmod  o=rwx  文件名  #修改權限其餘人rwx可讀可寫可執行

R=4

W=2

x=1

Chmod  137  文件名  # x=1可執行 wx=3可寫可執行 rwx=7可讀可寫可執行

 

 

Vim命令

Vim 4.py

編輯(插入)模式

 

命令模式

 

末行模式

 

 

 

 

 

 

 

                                                                                             i

              一個冒號:

                                           esc                   esc

 

 

 

 

 

                             O(大寫字母)

8

 

 

                     i                               a

大寫I行首                                                                         A行尾

 

 

                                                          

O(小寫o)

Vi命令

命令模式:

Yy 複製光標所在行

4yy 複製光標所在開始向下的4行

 

P 粘貼

 

dd 剪切光標所在行

2dd 剪切光標所在行向下2行

D從當前的光標開始剪切,一直到行尾

D0從當前的光標開始剪切,一直到行首

Dw刪一個單詞

X刪除當前光標前面的哪一個,每次只會刪一個

x刪除當前光標後面的哪一個,每次只會刪一個

 

h左  j下  k上  l右

 

H當前屏幕的上方

M當前屏幕的中間

L當前屏幕的下方

 

Ctrl+f-----à向下翻一頁代碼

Ctrl+b-----à向上翻一頁代碼

 

20G快速的定位到20行

G快速的回到整個代碼的最後一行

                                 gg快速的回到整個代碼的第一行

                     w向後跳一個單詞的長度,即跳到下一個單詞的開始處

  d向前跳一個單詞的長度,即跳到前一個單詞的開始處

 

u撤銷

Ctrl+r 反撤銷

 

選中一片代碼

v:

V

 

>>向右移動代碼

<<向左移動代碼

.重複執行上一次的命令

r替換一個字符

R替換光標以及後面的字符

 

替換命令

把abc所有替換成123

末行模式下,將當前文件中的全部abc替換成123

:%s/abc/123/g

 

末行模式下,將第1行至第10行之間的abc替換成123

:1,10/abc/123/g

 

Shift+zz至關於wq

末行模式:

W保存

Q退出

Wq保存而且退出

 

Win+r  \\id地址 #服務器上傳下載

 

 

07-python的交互模式,ipython

Python3

Exit() #退出

Ipython3

Exit  #退出

 

 

:Set nu  #命令末行下輸入命令顯示行號

 

#是單行註釋

」」」###」」」 #3個單引號或雙引號是多行註釋

 

#coding=utf-8          #python2 打開不了的加

#-*- coding:utf-8 -*-   #python2 打開不了的加

 

Input #輸入指令

Print #輸出指令

Age=18

Print(「%D」%age) #打印age裏面的值18,數字用%d

Name = 「lishuide」

Print(「%s」%name) #打印name裏面的值李水德,數字用%s

Python3版本中

沒有raw_input()函數,只有input()

而且python3中的input與python2中的raw_input()功能同樣

 

              

 

 

 

Ls

Ls –a

Ls –h

Ls –alh

Cd

Tree  #樹形結構查看當前目錄

Man help

Clear

Rm

Touch

Madit

Ls > xxx.txt

Ls >>xxx.txt

Cat

Gedit

More

Ls –alh bin/ | more

相對路徑

絕對路徑

Cd ./

Cd ../..

Cd /home/

Cd –

Cd ~

 

Ctrl+c #終止命令

Rm#刪除文件

Rm *.txt  #刪除當前路徑所有txt文件

Rm -r   #強制刪除

 

Mkdir A/B/C/D/E –P   #建立文件A裏面的B的C的E

Rmdir #命令能夠從一個目錄中刪除一個或多個空的子目錄

Mv原文件名 新文件名 #修改文件後綴名

Mv #真正功能是移動文件,還有剪切粘貼功能

 

 

Ln –s 原文件 新文件 #稱爲軟鏈接文件,至關於windows建立快捷文件,

Ln 原文件 新文件    #稱爲軟鏈接文件,至關於windows建立快捷文件

Cat 1.txt 2.txt > xxx.txt #把1.txt 2.txt 文件內容重定向合拼在xxx.txt文件夾裏

Gedit 編輯查看內容

Grep 「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含「ntfs」

Grep 「^ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含以「ntfs」開頭的文件

Grep 「ntfs$」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含以「ntfs」結尾的文件

Grep  -n「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容包含「ntfs」在哪一行

Grep  -v「ntfs」 xxx.txt  #在xxx.txt文件裏搜索查找文件內容不包含「ntfs」

Cp #某文件複製粘貼到某個文件夾裏

Cp  A  B/  -r  #強制把A文件複製粘貼到B文件夾裏

 

Find  #從指定路徑找文件

Find / -name 「test.sh」#從指定路徑找文件「test.sh」

Find /tmp –size -2M  #查找在/tmp 目錄次啊等於2M的文件;+2M是大於,-2M是小於

 

Find --help #find命令功能,任何指令均可以用

 

Sudo #權限不夠的狀況下使用

 

壓縮解壓縮命令:

Tar  –cvf  xxx.tar  *.py #把全部帶.py的文件打包到xxx.tar 文件

Tar  –zcvf  xxx.tar.gz  *.py  #把全部帶.py的文件打包而且壓縮到xxx.tar.gz 文件

Tar  –zxvf  xxx.tar.gz  #把打包而且壓縮的文件包xxx.tar.gz 解壓

Tar  -jcvf  yyy.tar.bz2  *.py #把全部帶.py的文件打包而且壓縮到yyy.tar.bz2 文件

Tar  –jxvf  yyy.tar.bz2  #把打包而且壓縮的文件包yyy.tar.bz2 解壓

Zip  zzz.zip  *py  #把全部帶.py的文件打包而且壓縮到zzz.zip 文件

Unzip zzz.zip *py

 

 

 

 

Which  ls #查看ls命令原來是在哪一個路徑的文件,好比說ls命令針對的是bin/目錄下的命令

Cd  /bin/  #查看bin文件夾下的命令

 

系統管理命令

Cal  #當前日曆時間

Cal –y 2018   #2018年日曆

Date 「+%Y年%m月%d日」 #當前年月日格式

Ps  #任務管理器

Ps –aux  #查看當前運行狀況

Top  #查看當前運行狀況

htop  #查看當前運行狀況,這個更牛

kill  #關閉運行程序

kill  -9  ID號    #強制關閉ID號的運行程序

reboot  #重啓電腦

shutdown  –h  now #馬上關機

shutdown  –h  20:20   # 20:20馬上關機

shutdown  –h  +10   # 2系統十分鐘自動關機

init 0 #關機

init 6 #重啓

 

df #硬盤使用狀況

df –h  #硬盤使用狀況

du –h  #當前路徑使用狀況

ifconfig  #查看當前網絡信息  IP地址信息

ping  #測試遠程主機連通性

 

用戶權限管理命令

Useradd  python   #添加python帳戶

Su  #切換帳戶

Passwd  #設置密碼

Whoami #查看當前帳戶

Exit  #退出當前用戶,返回原來用戶

 

Ssh  python@172.16.7.139   #ssh+用戶名+@+id地址 遠程登陸電腦

Ctrl+shift+T   #創建新窗口,多用戶操做

 

 

Cat /etc/passwd  #查看建立的帳目

Sudo  useradd  gebilaowang  –m   #是建立用戶gebilaowang  -m是順便建立這個家目錄

Who  #查看當前全部登陸用戶

 

Rm / -rf   #從根目錄刪,嚴禁使用

 

Sudo  userdel  gebilaowang   #把gebilaowang帳號用戶刪了

Su – xxxx  #切換到xxxx用戶,-是同時切換到帳戶目錄裏面

Sudo –s  #切換到root超級管理員用戶

Cat /etc/group  #查看組

Groupmod +幾回tab鍵  #查看組

Sudo  groupadd  YYY  #建立YYY組

 

爲建立的普通用戶添加sudo權限

新建立的用戶,默認不能sudo,須要進行一下操做

Sudo usermod –a –G sudo 用戶名

Sudo usermod –a –G adm 用戶名

 

Chowm #修改文件全部者

Chgrp #修改文件所屬組

 

Chmod  u=rwx  文件名  #修改權限擁有者rwx可讀可寫可執行

Chmod  g=rwx  文件名  #修改權限同組者rwx可讀可寫可執行

Chmod  o=rwx  文件名  #修改權限其餘人rwx可讀可寫可執行

R=4

W=2

x=1

Chmod  137  文件名  # x=1可執行 wx=3可寫可執行 rwx=7可讀可寫可執行

 

 

Vim命令

Vim 4.py

編輯(插入)模式

 

命令模式

 

末行模式

 

 

 

 

 

 

 

                                                                                             i

              一個冒號:

                                           esc                   esc

 

 

 

 

 

                             O(大寫字母)

8

 

 

                     i                               a

大寫I行首                                                                         A行尾

 

 

                                                          

O(小寫o)

Vi命令

命令模式:

Yy 複製光標所在行

4yy 複製光標所在開始向下的4行

 

P 粘貼

 

dd 剪切光標所在行

2dd 剪切光標所在行向下2行

D從當前的光標開始剪切,一直到行尾

D0從當前的光標開始剪切,一直到行首

Dw刪一個單詞

X刪除當前光標前面的哪一個,每次只會刪一個

x刪除當前光標後面的哪一個,每次只會刪一個

 

h左  j下  k上  l右

 

H當前屏幕的上方

M當前屏幕的中間

L當前屏幕的下方

 

Ctrl+f-----à向下翻一頁代碼

Ctrl+b-----à向上翻一頁代碼

 

20G快速的定位到20行

G快速的回到整個代碼的最後一行

                                 gg快速的回到整個代碼的第一行

                     w向後跳一個單詞的長度,即跳到下一個單詞的開始處

  d向前跳一個單詞的長度,即跳到前一個單詞的開始處

 

u撤銷

Ctrl+r 反撤銷

 

選中一片代碼

v:

V

 

>>向右移動代碼

<<向左移動代碼

.重複執行上一次的命令

r替換一個字符

R替換光標以及後面的字符

 

替換命令

把abc所有替換成123

末行模式下,將當前文件中的全部abc替換成123

:%s/abc/123/g

 

末行模式下,將第1行至第10行之間的abc替換成123

:1,10/abc/123/g

 

Shift+zz至關於wq

末行模式:

W保存

Q退出

Wq保存而且退出

 

Win+r  \\id地址 #服務器上傳下載

 

 

07-python的交互模式,ipython

Python3

Exit() #退出

Ipython3

Exit  #退出

 

 

:Set nu  #命令末行下輸入命令顯示行號

 

#是單行註釋

」」」###」」」 #3個單引號或雙引號是多行註釋

 

#coding=utf-8          #python2 打開不了的加

#-*- coding:utf-8 -*-   #python2 打開不了的加

 

Input #輸入指令

Print #輸出指令

Age=18

Print(「%D」%age) #打印age裏面的值18,數字用%d

Name = 「lishuide」

Print(「%s」%name) #打印name裏面的值lishuide,字符串用%s

Python3版本中

沒有raw_input()函數,只有input()

而且python3中的input與python2中的raw_input()功能同樣

 

If 用來完成判斷

If 條件:

          條件成立的時候,作的事情

Else:

          條件不成立的時候作的事情

 

If 用來完成判斷

          條件成立作這件事情

Elif 條件1:

          條件成立作條件1事情

Elif 條件2:

          條件成立作條件2事情

Elif 條件3:

          條件成立作條件3事情

………

Else:

          前面條件不成立作這件事情

 

Type() #查看類型

Int() #把字符串轉化成整形

 

變量名必定要用英文:

如:English_score = 100

 

不容許用的變量名以下圖:

 

查看不能用的關鍵字做爲變量名的方法:

Ipython3

Import keyword

Keyword.kwlist

 

運算符:

+ #加

- #減

* #乘

/ #除

a//b  #取商數

a%b  #取餘數

2**10  #2的10次方,冪

 

一次輸出多個變量:

例如:

Name = 「李水德」

Age = 20

Addr = 「廣西」

Print(「姓名是:%s,年齡是:%d,地址是:%s」%(name,age,addr))

 

 

 

比較運算符

>=  #大於等於

<=  #小於等於

==  #等於

!=  #不等於  python2裏面不等於用<>

 

邏輯運算符

Or #或者

And #而且

Not #非,不在

 

 

Vi 文件名 +指定行數  #跳到文件名指定行數編輯

 

 

程序的3大執行流程

1順序執行

2選擇執行

3循環執行

 

 

While 循環

While 條件:

條件知足的時候執行的事情

 

#打印1到100

Num = 1

While num<=100:

      Print(num)#print(「%d」%s)

      Num = num+1

 

If嵌套

If xxx:

   Print(「---1----」)

   If xxx2:

     Print(「----2----」)

 

 

 

While嵌套:打印矩形,end=「」表示是不換行,print(「」)表示是換行

 

 

複合賦值運算符:

 

 

打印三角形:

 

 

99乘法表:\t是至關一個tab鍵,\a是換行

 

 

剪刀石頭布遊戲:

電腦隨機出一個數0到2: 

Import random

Random.randint(0,2)

 

For循環:

Name = 「laowang」

For temp in name:

    Print(temp)                          

 

#打印1-100之間的偶數代碼:

 

 

 

#打印1-100之間的20個偶數,用到beak,beak結束整個while循環

 

 

Continue #結束這一次的循環,轉而執行下一次的循環(剩下的不執行,跳回while循環上繼續執行)

 

#While 嵌套中的break

 

 

Len #測字符串裏面的內容佔多少內存的字節數

 

#字符串的輸入和輸出

Name = Input(「請輸入姓名:」)

Print(「姓名爲:%s」%name)

 

加法運算符,不但能夠數字相加,還能夠字符串相加

字符串相加的方式一樣能夠

 

取字符串的某個下標:[0]是取第一個,[1]0是取第二個,以此類推。[-1]是取倒數第一個

 

取字符串的切片:

 

 

 

取字符串的切片(逆序取):

 

 

變量名.find(「lishuide」) #從變量名字符串裏面左邊找lishuide,找到顯示下標,找不到顯示-1

變量名.rfind(「lishuide」) #從變量名字符串裏面右邊找lishuide,找到顯示下標,找不到顯示-1

變量名.index(「lishuide」) #從變量名字符串裏面左邊找lishuide,找到顯示下標,找不到顯示錯誤

變量名.find(「lishuide」) #從變量名字符串裏面右邊找lishuide,找到顯示下標,找不到顯示錯誤

變量名.count(「lishuide」)#查找lishuide出現的個數

變量名.replace(「lishuide」,「lijunpeng」,1)#替換lishuide成lijunpneg,替換個數1

 

變量名.split(「 」)#切割,遇到空格就切割成一個列表

 

變量名.capitalize()#第一個字母大寫

變量名.title()#全部單詞第一個字母大寫

 

變量名.endswith(「.txt」)#判斷後綴名的格式.txt結尾

變量名.startswith(「li」)#判斷以li 開頭

 

變量名.lower(「」)#所有字母轉爲小寫

變量名.upper(「」)#所有字母轉爲大寫

 

變量名.center(50)#居中對齊,必需要填50個字符

變量名.ljust(50)#靠左對齊

變量名.rjust(50)#靠右對齊

 

變量名.lstrip()#刪除變量名左邊格式

變量名.rstrip()#刪除變量名右邊格式

變量名.strip()#刪除變量名左右兩邊格式

 

列表是中括號[ ],元組是小括號()

 

變量名.partition(「lishuide」) #以左邊第一個出現lishuide爲中間,分開兩塊,元組出現

變量名.rpartition(「lishuide」) #以右邊第一個出現lishuide爲中間,分開兩塊,元組出現

 

變量名.splitlines() #每一個單詞空格切割換行,以列表顯示

 

 

 

變量名.isalpha()#判斷輸入的是否是全是字母

變量名.isdigit()#判斷輸入的是否是全是數字

變量名.isalnum()#判斷輸入的是否是有字母又有數字

變量名.isspace()#判斷輸入的是否是全是空格

 

 

b.join(a)#把a列表裏面的用b的空格分開組合起來,以下圖

 

 

題目:把空格和\t去掉組合起來,再從新組合起來

 

#定義一個列表,存儲多個數據

 

 

[ ]列表的增刪改查:

添加新的元素

Append()

Insert()

Extend()

變量名.append(「laoli」)  #增長laoli進去,從後面加

變量名.insert(「位置,要增長的內容」)  #插入內容進去,想插哪插哪

 

[ ]列表的刪除:

刪除元素

Pop()  #從最後一個刪

Remove(「內容」)  #刪指定內容,從左邊找到刪,並且是隻刪一個

Del 變量名[下標]   #根據下標來刪除

 

[ ]列表的修改:

修改元素

變量名[下標]  = 「新元素」

 

切片取列表

 

 

[ ]列表的查看:

查看元素

In    # 「內容」in 變量名,若是在返回true,若是不在返回false

Not  in   # 「內容」not in 變量名,若是不在返回true,若是在返回fals

 

# if 「內容」 in 變量名:

Print(「找到了。。。。」)

 

布爾類型:要麼是true要麼是false

 

2、vi解密處理

按ESC鍵退出編輯,輸入下面的命令

:set key= 

 

 

字典:

變量名 = {鍵:值,鍵:值}

 

 

列表裏面放字典,而後取字典裏面的鍵

 

 

判斷是否找到:

 

字典的增刪改查:

變量名[「新的鍵key」] = 值value           #增長

Del 變量名[「鍵key」]                     #刪除

變量名[已存在的鍵key] = 新的值new_value   #修改

變量名.get[「鍵key」]                      #查詢

 

列表循環遍歷的兩種方法:

 

 

列表添加append操做注意點

 

 

字典的常見操做,遍歷

Len(變量名)  #查看詞變量有多少個鍵值組

變量名.Keys() #查看字典中全部的鍵 ,以列表顯示出來    

變量名.value() #查看字典中全部的值 ,以列表顯示出來

變量名.items() #查看字典中全部的鍵值組,

 

 

元組() #只能查看,不能增刪改

 

函數,具備獨立功能

Def 函數名():

 

多個函數調用

 

 

4種函數的方法

1, def 函數名():

   pass

2, def 函數名():

      Return  xxx

2, def 函數名(參數):

   pass

4, def 函數名(參數):

      Return  xxx

 

函數的嵌套調用

 

 

函數嵌套調用應用,求輸入的2個數值的平均值:

 

 

全局變量和局部變量的區別:修改全局變量用global

 

 

04-全局變量定義的位置:

 

 

項目經理-美工-程序-測試-運維

 

 

 

列表和字典當作全局變量:

 

 

不可變類型:數字,字符串,元組

可變類型:列表,字典

可變類型不能夠當作字典裏面的鍵key

 

 

 

 

遞歸:

def getNums(num):

If num>1:

   return num * getNums(num-1)

else:

   retun num

getNums(4)

 

第一次

Def getNums(num=4):

   Num * getNums(num-1)

   Return 4 * 3

 

第二次

Def getNums(num=3):

   Num * getNums(num-1)

   Return 3* 2

 

第三次

Def getNums(num=2):

   Num * getNums(num-1)

   Return 2 * 1

 

第四次

Def getNums(num=1):

   Num * getNums(num-1)

   Return 1

結果是24

 

函數的應用:

變量名.sort()    #從小到大排序

變量名.reverse()   #倒序

變量名.sort(Key=lambda x:x[‘name’] )  #按字典的name鍵值排序

 

 

匿名函數的擴展:

 

 

Python是動態語言

Eval  #去掉字符串的意思

 

 

 

交換兩個值

 

 

Num+=num  不等價於 num=num+num

 

 

打開文件的方式:f = open(「文件名」,「r」),r是隻能讀,rb這是加圖片格式

操做完要關閉:f.close()

 

 

文件定位讀寫:變量名.seek(0,0)   #前面0是開頭方向,後面0是大方向,0是開頭,1是當前位置,2是結尾

變量名.tell()  #當前是第幾個字節

批量重命名

 

 

面向過程

面向對象

類就是模型,對象就是看得見摸的着的

 

Def __init__  #初始化對象

Def __str__  #

 

Python對象的3要素:①封裝(函數和全局變量找了個東西封在了一塊兒,這哥們就成了對象)、②繼承(子類繼承父類功能)、③多態(定義的時候不肯定調用哪一個功能,而是等到真正調用的時候是調用子類仍是父類的方法)

 

類方法

@classmethod

 

靜態方法

@staticmethod

 

類對象

實力對象

 

__new__ 方法負責建立

__Init__ 方法負責初始化

 

Log日誌(黑客技能,來無影去無蹤)

 

Ipython3>>>Import os >>>Os.__file__   模塊

 

包 #包更好的管理程序

 

 

Ipython3》import os》os.__file__   #Python解析器默認安裝的路徑

 

Touch setup.py》vi setup.py》寫一堆代碼 from distutils.core import setup 換行setup(name=」dongGe」,version=」1.0」,description=」dongGe’s  module」,author=」dongGe」,py_modules=[「TestMsg.sendmsg」,」TestMsg.recvmsg」])》python3 setup.py build》python3 setup.py sdist

 

Github.com

 

Ping ip #ping 192.168.1.112

 

windows查看ip地址  # ipconfig/all

 

import sys>print(sys.argv)>name=sys.argv[1]>print(「歡迎%s的到來」%name)  #給程序傳參數

列表生成式if嵌套:

 

 

 

關鍵詞:打開ipython3,輸入import keyword再輸入keyword.kylist

 

從新導入模塊from imp import* 而後 reload(模塊名)

Copy.copy()

copy.deepcopy()#深拷貝

 

程序用十進制 ,計算機用二進制

 

 

樹莓派,arduino 能夠用python程序寫在這裏跑出燈的效果,搞的人工智能,幾十幾百塊錢

迭代對象 、迭代器、 生成器

生成器就是可迭代對象

 

調試

Python –m pdb 文件

L----list顯示當前的代碼

N----next 向下執行一行代碼

c----continue繼續執行代碼

b----break 添加斷點

clear-----刪除斷點cl

p----print 打印一個變量的值

s----step 進入到一個函數

a-----args 打印全部的形參數據

q---quit退出調試

r----return 快速執行到函數的最後一行

 

跨平臺代碼  from  multiprocessing  import  Process

 

 

 導入多進程模塊  from multiprocessing import Pool

使用多進程的方式copy 原文件夾中的全部文件到新的文件夾中

pool = Pool(5)

pool.apply_async(xxxxx)

 

ps –aux  #查看當前運行進程

kill pid #關閉當前進程

 

 

搞黑客必須懂的tcp/IP協議(族),規範網絡中電腦轉輸數據怎麼傳

 

什麼是端口?端口就是用來區分進程的

Pid是用在一臺電腦區分的,多臺就不能夠了

進程端口號0-65535(2的16次方)

知名端口:0-1023

80端口(提供網站)

21 端口(提供FTP文件下載)

22端口(登陸對方的)  ssh  name@ip

呼死你,python能夠作(網上有開源就能夠作,填上對方號碼)

 

動態端口1024-65535

 

怎麼查看端口:用「netstat -an」

 

IP地址  用來標記一臺電腦的地址

ABCDE類

C類192.168.1.(指的是Ipv4)

2的8次方,256臺電腦,0和255不能用,其實是1-154

 

 

 

 

127.0.0.1~127.255.255.255用於迴路測試

ping 127.0.0.1用來測試當前電腦的網絡通訊協議好很差使,自檢過程

 

socket 套接字(插口)完成在多個電腦上之間進程間通信方式

 

 

Ifconfig #查看ubuntu的IP地址

Ipconfig #查看windows電腦的ip地址

 

Ping +IP地址

 

 

給飛秋髮信息:#

版本號:包編號:發送者姓名:發送者機器名:命令字:附加信息 舉例

1:1238605487:user:machine:32:hell

UDP協議  #理解爲寫信

TCP協議  #理解爲打電話

 

 

編碼    udpSocket.sendto(sendData.encode(「utf-8」))

recvData = xxx.recvfrom(1024)

recvData[0].decode(「gb2312」)

網絡通信大致過程以下圖:

 

 

Ip.dst == 192.168.119.123  #抓包數據 查找對方IP

udp.port == 2425

 

for炸彈代碼

import os

os.fork()

os.fork()

while True:                                        

                                                           os.fork()

print("---1---")

 

 

 

 

Arp –a  ——————》  Arp –d  ————》  Arp –a

 

 

DNS協議  #解析域名的協議

 

 

 

面試被問的問題

3次握手4次揮手

Tcp長連接和短連接

 

 

 

 

 

 

 

 

TCP的十種狀態

 

 

Linux的天下是服務器,搞web網站

Windows的天下是桌面

 

 

第一種:

Ddos拒絕服務器攻擊  tcp半連接攻擊  syn洪水攻擊

 

 

第二種:

Dns攻擊 udp攻擊 由於udp不穩定

劫持了bob的地址

涉及到金錢的網站先用假的密碼登陸,若是假的密碼都能進這網站確定是假的

就是當用戶訪問域名時候把假的ip告訴對方,訪問了釣魚網站

 

第三種:

Nslookup  baidu.com   # Nslookup +域名 查看網站對應的ip地址

Arp攻擊 

 

 

Arp 255  #獲取全部局域網的聊天

#python使用 原始套接字

 

 

 

 

 

 

 

 

 

 

共有ip才能上網(在百度輸入屁的地址)    私有ip 192.168.1.x

路由器NAT網絡地址轉化器

 

 

Ifconfig | grep 192

 

前端必學的三門課

HTML  index.html    超文本標記語言

CSS  index.css   頁面樣式

JavaScript  前端腳本語言,動態類型、弱類型

 

HTTP協議:超文本轉輸協議

 

狀態碼404    200   等

批量註釋:
使用下面命令在指定的行首添加註釋:
:起始行號,結束行號s/^/註釋符/g

取消註釋: :起始行號,結束行號s/^註釋符//g

相關文章
相關標籤/搜索