書接上回:後端開發技術教學(五) 魔術方法、類、序列化-CSDN博客
必要資源:
trae中下載網址:?TRAE - The Real AI Engineer
phpStudy 2018 :?phpStudy - Windows 一鍵部署 PHP 開發環境 · 小皮出品
python解釋器:Welcome to Python.org
前言
? ? ? ? 大家好,我是小楓。前幾期跟大家說完後端PHP的各種用法,這期我們就略略說一說python吧。接下來小編會介紹python的基礎代碼、條件指令、魔術方法等等。這些基本上跟PHP教的相差無幾,而且Web還是以PHP為主的,所以python我們就不詳細解析了。PHP大家可以稍微看回前篇,學一學哈。
目錄
前言
一、配置要求
? ? ? ? 1.1 插件安裝
? ? ? ? 1.2? 安裝python解釋器
二、基本語法
? ? ? ? 2.1? 可迭代對象
? ? ? ? 2.2? 輸出指令 (print)
? ? ? ? 2.3? 變量
? ? ? ? 2.4? 條件指令? (if & elif & else)
? ? ? ? 2.5? 循環指令? (while & for)
? ? ? ? 2.6? range
? ? ? ? 2.7? 函數
? ? ? ? 三、模塊
? ? ? ? 3.1? 內置模塊
? ? ? ? 3.2? 自定義模塊
? ? ? ? 3.3? 第三方模塊
? ? ? ? 3.3.1 requests 模塊
? ? ? ? 3.3.2? whois 模塊
四、類與對象
? ? ? ? 4.1? 魔術方法
五、小結
一、配置要求
? ? ? ? 大家用pycharm也行哈,我這邊以trae作為示範而已。
? ? ? ? 1.1 插件安裝
? ? ? ? ?在trae上安裝python插件。
? ? ? ? 1.2? 安裝python解釋器
=> 下面兩個勾選不了也沒關係,後面再操作就行了。
=> 下面兩個勾選不了也沒關係,後面再操作就行了。
=> 按install安裝就好了
=> 創建後綴為(.py)的文件就可以開始了
二、基本語法
? ? ? ? python的最大特色就是強制縮進,即連續指令開頭必須tab鍵開路
? ? ? ? 2.1? 可迭代對象
- string ????????字符串
- integer?? ????整數
- float? ? ? ? ? ?有小數點的數
- bool? ? ? ? ? ?True / False (必須大寫開頭)
- list[ ]? ? ? ? ? ?類似索引數組,往後可以修改
- tuple( ) ??????元組。類似索引數組,往後不可以修改
- dict{ } ????????字典。關聯數組
*數組在上一篇已經說過了,這邊就不多說了
? ? ? ? 2.2? 輸出指令 (print)
print(integer)
print("字符串")
print(變量)
? ? ? ? 2.3? 變量
aaa=123
bbb="hi"
ccc=True
#要以英文字開頭,變量名只能包括數字、英文字母、下劃綫
? ? ? ? 2.4? 條件指令? (if & elif & else)
if 判斷條件:
? 代碼塊1 #強制縮進
elif 判斷條件: #即elseif
? 代碼塊2
else:
? 代碼塊3
? ? ? ? 2.5? 循環指令? (while & for)
b=1
while (b<=10): #當條件滿足時,一直執行
? print(b)
? b+=1 # b=b+1
#每print完一次b,b都會加1(遞增)::即print 1-10
//for 變量 in 可迭代對象(str/bool/list/tuple/int...)for i in range(1,11): #range(1,11) 左閉右開 即1-10
? print(i) //把in後所有的數值都輸出一次出來,直到輸出完::輸出:
1
2
3
4
5
6
7
8
9
10for v in "abcdefg":
? print(v) //每次只輸出一個字符::輸出:
a
b
c
d
e
f
g
? ? ? ? 2.6? range()
range(1,11)
=> from 1-10range(1,11,3)
=> 間隔3 -> 1,4,7,10range(5)
=> range(0,5)=> from 0-4
? ? ? ? 2.7? 自定義函數
def 函數名(參數列表):
? 函數體(縮進語句)
? return 返回值 // 用於返回結果給調用者函數名() //調用函數def people(name):return namepeople(xiaofong)
::輸出:xiaofong
? ? ? ? 三、模塊
把 常用函數/類/變量/代碼塊 寫進.py為後綠綴的文件裡,要用時再引用該文件。不用重複敲代碼,方便編碼。
? ? ? ? 3.1? 內置模塊
? ? ? ? python自帶的模塊,例如os模塊、sys模塊、random模塊、time模塊等等。
import math //引用模塊a=math.sqrt(4) //使用方法 => 對象名.方法名/屬性名
#即根號4print(a)
::輸出:2.0
? ? ? ? 3.2? 自定義模塊
? ? ? ? 字面意思,自己寫的模塊。
創建模塊:myadd1.py //建議模塊名(英文+數字),不然容易重名
def add2(a,b): //2數相加的函數
? return a+b調用:
import myadd1
print(myadd1.add2(1,2)) //在myadd1模塊中,引用add2函數
? ? ? ? 3.3? 第三方模塊
其他大神編寫的高級模塊(用於數據分析,網絡請求等等),需透過pip工具安裝。常用模塊有requests模塊、pandas模塊、numpy模塊等等。
//在cmd中操作
pip install <模塊名>or
pip install <模塊名> -i <任何一個鏡像源>(http://mirrors.aliyun.com/pypi/simple/)pip list | findstr "requests"
=> 查看是否已安裝requests模塊(例子)
? ? ? ? 3.3.1 requests 模塊
? ? ? ? 專門用於網絡請求(POST、GET)
方法一
import requestsresponse=requests.post("http://www.baidu.com") //對百度網站發送POST請求
print(response.text) //查看POST請求中的內容
print(response.status_code) //查看連接是否成功方法二
import requests as r
=> 讓 r = requests方法三
from requests import get
// 從模塊中導入指定函數,引用函數時就不用[對象名.函數名]了,直接引用就可以了get()
? ? ? ? 3.3.2? whois 模塊
? ? ? ??whois數據庫專門收集域名、IP地址、公開的註冊數據庫等等的數據,所以whois模塊也特別用於信息收集。
pip install python-whois //安裝whois模塊import whoiswhois_info=whois.whois("http://www.baidu.com/")
print(whois_info)
四、類與對象
? ? ? ? 類和對象在上一篇文章已經說過了,大家可以稍微看一下哈。
class 類名:屬性(變量)/方法(函數)class Student:內容p=Student("xiaofong",18) //創建對象p.函數名() => 調用函數
p.屬性名() => 調用變量
? ? ? ? 4.1? 魔術方法
1. __init__(self,參數,參數):
????????=> __construct()
2. __del__(self)
????????=> __destruct()
3. __getstate__
????????=> 在對象被序列化pickle.dump() 時調用
4. __setstate__
????????=> 在對象被反序列化pickle.load() 時調用
5. __reduce__
????????=> 在__getstate__ 被調用前調用
class Student:def __init__(self,name,age): //參數中一定寫要selfself.name=nameself.age=agereturn nameStudent("xiaofong",18) //創建對象時自動執行__init__
::輸出:xiaofong
五、小結
? ? ? ? 後端python就跟大家說得差不多了,因為Web後端是主要以PHP為主的,所以這裡不會跟大家說大詳細,略略帶過就算了。
? ?大家只需要記住它們的功能和運作邏輯就可以了,實操可以讓AI幫忙寫代碼,具體的之前已經說過了,這裡就不多說了。接下來我們會開始研究數據庫mysql以及開始分析漏洞挖掘了哈。大家敬請期待了。
Trae AI寫代碼:後端開發技術教學(一) [附2025最新可用 phpstudy2018下載鏈接] -CSDN博客
類與魔術方法:後端開發技術教學(五) 魔術方法、類、序列化-CSDN博客