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