❤️《10个超级常用Python方法总结》复制即用丨小白捷径【文末赠书2本】❤️
🍅 作者:不吃西紅柿?
🍅 簡介:CSDN博客專家🏆、HDZ核心組成員💪、C站總榜前10名?? 歡迎點(diǎn)贊、收藏、評論
🍅 粉絲專屬福利(文末送書2本):簡歷模板、PPT模板、學(xué)習(xí)資料、面試題庫。直接去文末領(lǐng)取
目錄
1、發(fā)送郵件
2、操作數(shù)據(jù)庫:MySQLdb
3、網(wǎng)絡(luò)爬蟲:requests
4、操作execl:pandas
5、操作系統(tǒng)接口
6、數(shù)據(jù)分析:numpy
7、數(shù)據(jù)畫圖分析:Matplotlib
8、字符串正則匹配
9、游戲開發(fā):pygame
10、數(shù)據(jù)壓縮
【粉絲福利,送書2本】
1、發(fā)送郵件
有幾個模塊用于訪問互聯(lián)網(wǎng)以及處理網(wǎng)絡(luò)通信協(xié)議。其中最簡單的兩個是用于處理從 urls 接收的數(shù)據(jù)的 urllib.request 以及用于發(fā)送電子郵件的 smtplib:
import smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )參數(shù)說明:
- host: SMTP 服務(wù)器主機(jī)。 你可以指定主機(jī)的ip地址或者域名如: runoob.com,這個是可選參數(shù)。
- port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務(wù)使用的端口號,一般情況下 SMTP 端口號為25。
- local_hostname: 如果 SMTP 在你的本機(jī)上,你只需要指定服務(wù)器地址為 localhost 即可。
Python SMTP 對象使用 sendmail 方法發(fā)送郵件,語法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])參數(shù)說明:
- from_addr: 郵件發(fā)送者地址。
- to_addrs: 字符串列表,郵件發(fā)送地址。
- msg: 發(fā)送消息
案例:
#!/usr/bin/python # -*- coding: UTF-8 -*-import smtplib from email.mime.text import MIMEText from email.header import Headersender = 'from@runoob.com' # 公眾號:信息技術(shù)智庫 receivers = ['429240967@qq.com'] ?# 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱# 三個參數(shù):第一個為文本內(nèi)容,第二個 plain 設(shè)置文本格式,第三個 utf-8 設(shè)置編碼 message = MIMEText('Python 郵件發(fā)送測試...', 'plain', 'utf-8') message['From'] = Header("西紅柿大神", 'utf-8') ? # 發(fā)送者 message['To'] = ?Header("測試", 'utf-8') ? ? ? ?# 接收者subject = 'Python SMTP 郵件測試' message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP('localhost')smtpObj.sendmail(sender, receivers, message.as_string())print "郵件發(fā)送成功" except smtplib.SMTPException:print "Error: 無法發(fā)送郵件"2、操作數(shù)據(jù)庫:MySQLdb
安裝MySQLdb,請訪問 http://sourceforge.net/projects/mysql-python?
操作mysql查數(shù)據(jù)
import MySQLdb# 連接數(shù)據(jù)庫 conn = MySQLdb.connect(host='localhost',user='root',passwd='xxxx',db='test1')# 獲取cursor對象來進(jìn)行操作 cursor = conn.cursor()# 更多資料:https://t.1yb.co/zHJo sql = "select * from world where someone like 'you' "# 執(zhí)行sql cursor.execute(sql)3、網(wǎng)絡(luò)爬蟲:requests
Requests 允許你發(fā)送純天然的 HTTP/1.1 請求,無需手工勞動。你不需要手動為 URL 添加查詢字串,也不需要對 POST 數(shù)據(jù)進(jìn)行表單編碼。Keep-alive 和 HTTP 連接池的功能是 100% 自動化的。
一個簡單的爬蟲樣例:
#公眾號:信息技術(shù)智庫 import requests heads = {} heads['User-Agent'] = 'Mozilla/5.0 ' \'(Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 ' \'(KHTML, like Gecko) Version/5.1 Safari/534.50'response = requests.get('http://www.baidu.com',headers=headers)4、操作execl:pandas
# -*- coding: utf-8 -*- import xlrdimport xlwt from datetime import date,datetimedef read_excel():# 打開文件workbook = xlrd.open_workbook(r'F:\demo.xlsx')# 獲取所有sheetprint workbook.sheet_names() # [u'sheet1', u'sheet2']sheet2_name = workbook.sheet_names()[1]# 根據(jù)sheet索引或者名稱獲取sheet內(nèi)容sheet2 = workbook.sheet_by_index(1) # sheet索引從0開始sheet2 = workbook.sheet_by_name('sheet2')# sheet的名稱,行數(shù),列數(shù)print sheet2.name,sheet2.nrows,sheet2.ncols# 獲取整行和整列的值(數(shù)組)rows = sheet2.row_values(3) # 獲取第四行內(nèi)容cols = sheet2.col_values(2) # 獲取第三列內(nèi)容print rowsprint cols# 獲取單元格內(nèi)容print sheet2.cell(1,0).value.encode('utf-8')print sheet2.cell_value(1,0).encode('utf-8')print sheet2.row(1)[0].value.encode('utf-8')# 獲取單元格內(nèi)容的數(shù)據(jù)類型print sheet2.cell(1,0).ctypeif __name__ == '__main__':read_excel()5、操作系統(tǒng)接口
os模塊提供了不少與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)。
>>> import os >>> os.getcwd() # 返回當(dāng)前的工作目錄 'C:\\Python34' >>> os.chdir('/server/accesslogs') # 修改當(dāng)前的工作目錄 >>> os.system('mkdir today') # 執(zhí)行系統(tǒng)命令 mkdir 0建議使用 "import os" 風(fēng)格而非 "from os import *"。這樣可以保證隨操作系統(tǒng)不同而有所變化的 os.open() 不會覆蓋內(nèi)置函數(shù) open()。
os常用命令
| 序號 | 方法 | 功能 |
| 1 | os.access(path, mode)?? | 檢驗權(quán)限模式 |
| 2 | os.chdir(path)? ? | 改變當(dāng)前工作目錄 |
| 3 | os.chflags(path, flags)?? | 設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記。 |
| 4 | os.chmod(path, mode)? ?? | 更改權(quán)限 |
| 5 | os.chown(path, uid, gid)?? | 更改文件所有者 |
| 6 | os.chroot(path)? ? | 改變當(dāng)前進(jìn)程的根目錄 |
| 7 | os.close(fd)? ?? | 關(guān)閉文件描述符 fd |
| 8 | os.closerange(fd_low, fd_high)? ?? | 關(guān)閉所有文件描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 |
| 9 | os.dup(fd)? ?? | 復(fù)制文件描述符 fd |
| 10 | os.dup2(fd, fd2)? ?? | 將一個文件描述符 fd 復(fù)制到另一個 fd2 |
6、數(shù)據(jù)分析:numpy
NumPy 包含大量的各種數(shù)學(xué)運(yùn)算的函數(shù),包括三角函數(shù),算術(shù)運(yùn)算的函數(shù),復(fù)數(shù)處理函數(shù)等。
NumPy 提供了多種排序的方法。 這些排序函數(shù)實現(xiàn)不同的排序算法,每個排序算法的特征在于執(zhí)行速度,最壞情況性能,所需的工作空間和算法的穩(wěn)定性。 下表顯示了三種排序算法的比較。
三角函數(shù)
NumPy 提供了標(biāo)準(zhǔn)的三角函數(shù):sin()、cos()、tan()。
import numpy as npa = np.array([0,30,45,60,90]) print ('不同角度的正弦值:') # 通過乘 pi/180 轉(zhuǎn)化為弧度 print (np.sin(a*np.pi/180)) print ('\n') print ('數(shù)組中角度的余弦值:') print (np.cos(a*np.pi/180)) print ('\n') print ('數(shù)組中角度的正切值:') print (np.tan(a*np.pi/180))7、數(shù)據(jù)畫圖分析:Matplotlib
import numpy as np from matplotlib import pyplot as plt x = np.arange(1,11) y = 2 * x + 5 plt.title("Matplotlib demo") plt.xlabel("x axis caption") plt.ylabel("y axis caption") plt.plot(x,y) plt.show()以上實例中,np.arange() 函數(shù)創(chuàng)建 x 軸上的值。y 軸上的對應(yīng)值存儲在另一個數(shù)組對象 y 中。 這些值使用 matplotlib 軟件包的 pyplot 子模塊的 plot() 函數(shù)繪制。
圖形由 show() 函數(shù)顯示。
8、字符串正則匹配
re模塊為高級字符串處理提供了正則表達(dá)式工具。可以說是爬蟲必備,對于復(fù)雜的匹配和處理,正則表達(dá)式提供了簡潔、優(yōu)化的解決方案:如果只需要簡單的功能,應(yīng)該首先考慮字符串方法,因為它們非常簡單,易于閱讀和調(diào)試:
>>> 'tea for too'.replace('too', 'two') 'tea for two're.match函數(shù)
re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。
函數(shù)語法:
re.match(pattern, string, flags=0)函數(shù)參數(shù)說明:
| pattern | 匹配的正則表達(dá)式 |
| string | 要匹配的字符串。 |
| flags | 標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等等。 |
匹配成功re.match方法返回一個匹配的對象,否則返回None。
我們可以使用group(num) 或 groups() 匹配對象函數(shù)來獲取匹配表達(dá)式。
| group(num=0) | 匹配的整個表達(dá)式的字符串,group() 可以一次輸入多個組號,在這種情況下它將返回一個包含那些組所對應(yīng)值的元組。 |
| groups() | 返回一個包含所有小組字符串的元組,從 1 到 所含的小組號。 |
9、游戲開發(fā):pygame
- Pygame是一組跨平臺的Python模塊, 用于創(chuàng)建視頻游戲。
- 它由旨在與Python編程語言一起使用的計算機(jī)圖形和聲音庫組成。
- Pygame由Pete Shinners正式編寫, 以取代PySDL。
- Pygame適合于創(chuàng)建客戶端應(yīng)用程序, 這些應(yīng)用程序可以包裝在獨(dú)立的可執(zhí)行文件中。
10、數(shù)據(jù)壓縮
以下模塊直接支持通用的數(shù)據(jù)打包和壓縮格式:zlib,gzip,bz2,zipfile,以及 tarfile。
>>> import zlib >>> s = b'witch which has which witches wrist watch' >>> len(s) 41 >>> t = zlib.compress(s) >>> len(t) 37 >>> zlib.decompress(t) b'witch which has which witches wrist watch' >>> zlib.crc32(s) 226805979【粉絲福利:送書2本】
【書名】:《Python 3.x基礎(chǔ)教程》
【如何獲得】:評論區(qū)留言點(diǎn)贊收藏,通過python random函數(shù)從評論區(qū)抽獎2人,我會私聊獲獎人提供地址信息,并在下期文章公示快遞記錄。
【內(nèi)容簡介】
《Python 3.x基礎(chǔ)教程》以零基礎(chǔ)講解為宗旨,旨在幫助讀者掌握 Python 語言的基礎(chǔ)知識,以及如何使用Python 語言實現(xiàn)編程,了解其開發(fā)技巧,并通過實戰(zhàn)案例熟悉開發(fā)過程及問題的解決方法。
全書共分 13 章,大致分為 4 部分: 1~4 章介紹 Python 簡介及環(huán)境搭建、 Python 基礎(chǔ)和面向?qū)ο蟮木幊讨R;第 5~7 章介紹讀寫文件、自帶電池模塊及系統(tǒng)編程的知識;第 8~11章介紹網(wǎng)絡(luò)編程、收發(fā)電子郵件、圖形用戶界面和 Web 開發(fā);第 12、 13 章通過兩個綜合案例的講解,將全書各個知識點(diǎn)融會貫通,加深讀者對所學(xué)知識的理解。
本書專為沒有任何 Python基礎(chǔ)的初學(xué)者和愛好者打造,無論你是否從事計算機(jī)相關(guān)專業(yè),是否有過 Python 項目經(jīng)驗,或是否想要轉(zhuǎn)行從事計算機(jī)相關(guān)專業(yè),均可通過本書快速掌握Python 的基本知識和開發(fā)技巧。
🍅 行業(yè)資料:關(guān)注即可領(lǐng)取PPT模板、簡歷模板、行業(yè)經(jīng)典書籍PDF。
🍅 交流加群:大佬指點(diǎn)迷津,你的問題往往有人遇到過,求資源在群里喊一聲。
🍅 面試題庫:由技術(shù)群里的小伙伴們共同投稿,熱乎的大廠面試真題,持續(xù)更新中。
🍅 學(xué)習(xí)資料:含編程語言、算法、大數(shù)據(jù)生態(tài)圈組件(Mysql、Hive、Spark、Flink)、數(shù)據(jù)倉庫、前端等。
👇👇👇更多粉絲福利👇👇👇
總結(jié)
以上是生活随笔為你收集整理的❤️《10个超级常用Python方法总结》复制即用丨小白捷径【文末赠书2本】❤️的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL流浪记(六)—— CONCAT
- 下一篇: 利用caffe的python接口实现De