欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python模塊常用用法實例詳解

 更新時間:2019年10月17日 09:41:06   作者:吃可愛長大的  
由于平時習慣,strftime比較常用,strptime和它是反操作。這篇文章主要介紹了python模塊常用用法,需要的朋友可以參考下

1、time模塊(※※※※)

import time #導入時間模塊

print(time.time()) #返回當前時間的時間戳,可用于計算程序運行時間
print(time.localtime()) #返回當?shù)貢r間的結(jié)構(gòu)化時間格式,參數(shù)默認為時間戳
print(time.gmtime) #返回UTC時間的結(jié)構(gòu)化時間格式
print(time.mktime(time.localtime())) #將結(jié)構(gòu)化時間轉(zhuǎn)換為時間戳
print(time.strftime("%Y-%m-%d %X",time.localtime())) #將結(jié)構(gòu)化時間轉(zhuǎn)換為字符串時間
print(time.strptime("2019:9:30:12:55:36","%Y:%m:%d:%X")) #將字符串時間轉(zhuǎn)換為結(jié)構(gòu)化時間
print(time.asctime()) #將結(jié)構(gòu)化時間或表示時間的元組轉(zhuǎn)換為'Sun Jun 20 23:21:05 1993'的格式
print(time.ctime()) #將時間戳轉(zhuǎn)換為time.asctime格式,默認time.time為參數(shù)

  PS:由于平時習慣,strftime比較常用,strptime和它是反操作,下列方法輸出格式能更符合人們的習慣

import datetime #導入datetime模塊
print(datetime.datetime.now()) #輸出2019-09-30 15:15:09.562809的格式 

2、random模塊(※※)

import random

print(random.random()) #返回0到1之間的隨機浮點數(shù)
print(random.randint(1,3)) #返回1到3之間的隨機整數(shù),包括3
print(random.randrange(1,3)) #返回1到3之間的隨機整數(shù),不包括3
print(random.choice([1,'23',[4,5]])) #隨機返回列表中一個數(shù)據(jù)
print(random.sample([1,'23',[4,5]],2)) #隨機返回列表中兩個數(shù)據(jù)
print(random.uniform(1,3)) #返回1到3之間的浮點數(shù)
item=[1,3,5,7,9]
random.shuffle(item)
print(item) #把item列表打亂

3、os模塊(※※※※)

import os

os.getcwd() #返回當前腳本工作目錄路徑
os.chdir("dirname") #改變當前腳本工作目錄
os.makedirs('dirname1/dirname2') #生成多層遞歸目錄
os.removedirs('dirname1') #若目錄為空則刪除,并遞歸到上一級目錄,若也為空則繼續(xù)刪除,依此類推
os.mkdir('dirname') #生成單級目錄
os.rmdir('dirname') #刪除單級空目錄,若目錄不為空則無法刪除并報錯
os.listdir('dirname') #以列表方式返回指定目錄下的所有文件和子目錄,包括隱藏文件
os.remove() #刪除一個文件
os.rename("oldname","newname") #重命名文件或目錄
os.stat('path/filename') #獲取文件或目錄
os.linesep #輸出當前平臺使用的行終止符(win下為"\r\n",Linux下為"\n")
os.pathsep #輸出用于分割文件路徑的字符串(win下為;,Linux下為:)
os.path.abspath(path) #返回path規(guī)范化的絕對路徑
os.path.split(path) #返回path分割成的目錄和文件名二元組
os.path.dirname(path) #返回path的目錄
os.path.basename(path) #返回path的文件名,若path以/或\結(jié)尾則返回空值
os.path.exists(path) #path存在返回True,不存在則返回False
os.path.isabs(path) #path是絕對路徑則返回True
os.path.isfile(path) #path是一個存在的文件則返回True,否則返回False
os.path.isdir(path) #path是一個存在的目錄則返回True,否則返回False
os.path.join(path1[, path2[, ...]]) #將多個路徑組合后返回,第一個絕對路徑之前的參數(shù)將被忽略
os.path.getatime(path) #返回path指向的文件或者目錄最后存取時間
os.path.getmtime(path) #返回path指向的文件或者目錄最后修改時間

  PS:其中os.path.join較為常用。

4、sys模塊(※※※)

import sys

sys.argv #命令行參數(shù)List,第一個元素是程序本身路徑
sys.exit(n) #退出程序,正常退出時exit(0)
sys.version #獲取Python解釋程序的版本信息
sys.maxint #最大的Int值
sys.path #返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值
sys.platform #返回操作系統(tǒng)平臺名稱

  PS:其中sys.argv較為常用,下面代碼實現(xiàn)進度條的打印,使用flush刷新屏幕打印

import sys,time

for i in range(100):
 sys.stdout.write('#')
 time.sleep(1)
 sys.stdout.flush()

5、json&pickle(※※※※)

import json
dic={'name':'alvin','age':23,'sex':'male'} #定義一個字典,為字典格式
f=open('序列化對象','w')
j=json.dumps(dic) #把字典序列化,即單引號變雙引號,然后再在最外面加單引或雙引變成所有編程語言都可用的字符串格式
f.write(j) #也可以用dump用法,這兩行則等價于json.dump(dic,f)
f.close()
f=open('序列化對象')
data=json.loads(f.read()) #把字符串反序列化,即把字符串格式變成字典格式,也可以用load用法,這兩行則等價于data=json.load(f)

  PS:dump和load用法更加簡潔,但是僅限于文件操作,所以還是推薦dumps和loads。另外dumps和loads不是一定要連用,只要字符串滿足dumps后的格式,就可以直接進行l(wèi)oads操作,dump和load同理。pickle和json用法基本上相同,json是可以在不同語言之間交換數(shù)據(jù)的,而pickle只在python之間使用。 json只能序列化最基本的數(shù)據(jù)類型,而pickle可以序列化所有的數(shù)據(jù)類型,包括類,函數(shù)都可以序列化(不常用)

6、shelve模塊(※※※)

import shelve

def member_info(name, age):
 print("Member info:", name, age)

name = ['Jack', 'Maxwell', 'Tom']
info = {'name': 'Maxwell', 'age': 18}

with shelve.open('demo') as data:
 data['name'] = name #持久化列表
 data['info'] = info #持久化字典
 data['func'] = member_info

  PS:shelve模塊比pickle模塊簡單,只有一個open函數(shù),返回類似字典的對象,可讀可寫。key必須為字符串,而值可以是python所支持的數(shù)據(jù)類型

7、xml模塊(※※)

xml格式,用<>區(qū)別數(shù)據(jù)結(jié)構(gòu):

<?xml version="1.0"?>
<data>
 <country name="Liechtenstein">
  <rank updated="yes">2</rank>
  <year>2008</year>
  <gdppc>141100</gdppc>
  <neighbor name="Austria" direction="E"/>
  <neighbor name="Switzerland" direction="W"/>
 </country>
 <country name="Singapore">
  <rank updated="yes">5</rank>
  <year>2011</year>
  <gdppc>59900</gdppc>
  <neighbor name="Malaysia" direction="N"/>
 </country>
 <country name="Panama">
  <rank updated="yes">69</rank>
  <year>2011</year>
  <gdppc>13600</gdppc>
  <neighbor name="Costa Rica" direction="W"/>
  <neighbor name="Colombia" direction="E"/>
 </country>
</data>

python中用于操作xml的模塊:

import xml.etree.ElementTree as ET
 
tree = ET.parse("xmltest.xml")
root = tree.getroot()
print(root.tag)
#----------遍歷xml文檔----------
for child in root:
 print(child.tag, child.attrib)
 for i in child:
  print(i.tag,i.text)
#----------只遍歷year節(jié)點----------
for node in root.iter('year'):
 print(node.tag,node.text)
#----------修改----------
for node in root.iter('year'):
 new_year = int(node.text) + 1
 node.text = str(new_year)
 node.set("updated","yes")
tree.write("xmltest.xml")
#----------刪除node----------
for country in root.findall('country'):
 rank = int(country.find('rank').text)
 if rank > 50:
  root.remove(country)
tree.write('output.xml')


如何創(chuàng)建xml文檔:

import xml.etree.ElementTree as ET

new_xml = ET.Element("namelist")
name = ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET.SubElement(name,"sex")
sex.text = '33'
name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"})
age = ET.SubElement(name2,"age")
age.text = '19'
et = ET.ElementTree(new_xml) #生成文檔對象
et.write("test.xml", encoding="utf-8",xml_declaration=True)
ET.dump(new_xml) #打印生成的格式

  PS:json比xml用起來更簡單,但xml出現(xiàn)很早,以至于現(xiàn)在很多系統(tǒng)接口還是xml

8、re模塊(※※※※※)

import re
 
ret=re.findall('a..in','helloalvin') #元字符.的用法,一個.表示有一個字符
print(ret) #輸出['alvin'],re.findall是在字符串中檢索所有的滿足格式的子字符串并放在列表里
ret=re.findall('^a...n','alvinhelloawwwn') #元字符^的用法,表示從字符串開頭開始匹配
print(ret) #輸出['alvin'] 
ret=re.findall('a...n$','alvinhelloawwwn') #元字符$的用法,表示從字符串結(jié)尾開始匹配
print(ret) #輸出['awwwn']
ret=re.findall('abc*','abcccc') #元字符*的用法,表示字符c重復多次,也可為0次,會自動匹配最多次,稱貪婪匹配
print(ret) #輸出['abcccc']
ret=re.findall('abc+','abccc') #元字符+的用法,表示字符c重復多次,最少有1次,會自動匹配最多次
print(ret) #['abccc']
ret=re.findall('abc?','abccc') #元字符?的用法,表示字符c重復0次或1次,會自動匹配1次
print(ret) #輸出['abc']
ret=re.findall('abc{1,4}','abccc') #元字符{}的用法,表示字符c重復指定范圍次數(shù),會自動匹配最多次
print(ret) #輸出['abccc']

  PS:上面的元字符*,+,?,{}等都是貪婪匹配,也就是按盡可能多的次數(shù)匹配,在后面加?號則可變成惰性匹配

ret=re.findall('abc*?','abcccccc') #惰性匹配字符c為最少次數(shù)0次
print(ret) #輸出['ab']

ret=re.findall('a[bc]d','acd') #元字符的字符集[]的用法,表示在字符集中選擇一個進行匹配
print(ret) #輸出['acd']
ret=re.findall('[a-z]','acd') #字符集[]中有功能的符號:-^\,a-z表示從a到z的所有字母
print(ret) #輸出['a', 'c', 'd']
ret=re.findall('[.*+]','a.cd+') #除了-^\的其他符號則變成一般字符,不具功能
print(ret) #輸出['.', '+']
ret=re.findall('[^ab]','45bdha3') #字符集[]中^表示“非”,^ab即非字符a和b
print(ret) #輸出['4', '5', 'd', 'h', '3']
ret=re.findall('[\d]','45bdha3') #\d即匹配數(shù)字格式的字符
print(ret) #輸出['4', '5', '3']
import re
ret=re.findall('c\l','abc\le') #元字符\的用法,可把一般字符和特殊字符相互轉(zhuǎn)換,這里\l有特殊意義,所以字符串里檢索不了
print(ret) #輸出[]
ret=re.findall('I\b','I am LIST') #\b表示匹配一個特殊字符,比如空格 ,&,#等
         #\d表示匹配任何十進制數(shù),相當于類 [0-9]
         #\D表示匹配任何非數(shù)字字符,相當于類[^0-9]
         #\s表示匹配任何空白字符,相當于類[ \t\n\r\f\v]
         #\S表示匹配任何非空白字符,相當于類[^\t\n\r\f\v]
         #\w表示匹配任何字母數(shù)字字符,相當于類[a-zA-Z0-9_]
         # \W表示匹配任何非字母數(shù)字字符,相當于類[^a-zA-Z0-9_]
print(ret) #輸出[]
ret=re.findall(r'I\b','I am LIST') #\b有特殊意義,所以需再次轉(zhuǎn)義\\b或r'\b'
print(ret) #輸出['I']
ret=re.findall('c\\l','abc\le')
print(ret) #輸出[]
ret=re.findall('c\\\\l','abc\le') #python解釋器轉(zhuǎn)義和re轉(zhuǎn)義有區(qū)別,所以需傳入多個\來轉(zhuǎn)義
print(ret) #輸出['c\\l']
ret=re.findall(r'c\\l','abc\le') #直接在前面加r也可以再次轉(zhuǎn)義
print(ret) #輸出['c\\l']     
m = re.findall(r'(ad)+', 'add') #元字符()的用法,將()里的內(nèi)容作為整體來匹配
m = re.findall(r'(ad)+', 'adadad') #把ab看成一個整體
print(m) #由于優(yōu)先匹配()組內(nèi)的內(nèi)容,所以優(yōu)先輸出['ad']
m1 = re.findall(r'(?:ad)+', 'adadad') #若要取消上述優(yōu)先級,則需加上?:
print(m1) #輸出['ad','ad','ad']
ret=re.search('(ab)|\d','rabhdg8sd')
print(ret.group()) #輸出ab,re.search函數(shù)在字符串內(nèi)查找匹配到第一個符合的子字符串則返回一個對象,可通過group()方法得到子符串,若沒有匹配則返回None
ret=re.search('(?P<id>\d{2})/(?P<name>\w{3})','23/com') #固定格式?P<分組名稱>,id和name表示分組名稱,不參與匹配
print(ret.group()) #輸出23/com
print(ret.group('id')) #輸出23,group(分組名稱)可以獲取對應(yīng)的值,分組的作用是可重用多次,提高效率

  re模塊常用方法(上面已經(jīng)講了re.findall和re.search)

import re

re.match('a','abc').group() #和re.search用法一樣,但只能從字符串開始處進行匹配
ret=re.split('[ab]','abcd') #先按'a'分割,左邊得到'',右邊得到'bcd',再按b分割'bcd',左邊得到'',右邊得到'cd'
print(ret) #輸出['', '', 'cd']
ret=re.sub('\d','abc','alvin5yuan6',1) #參數(shù)1表示匹配規(guī)則或字符,參數(shù)2表示替換后的字符串,參數(shù)3表示被匹配的字符串,參數(shù)4表示匹配次數(shù),不填則默認全部替換
print(ret) #輸出alvinabcyuan6
ret=re.subn('\d','abc','alvin5yuan6') #能得到替換后的字符串和替換次數(shù)
print(ret) #輸出('alvinabcyuanabc', 2)
obj=re.compile('\d{3}') #先把規(guī)則給一個對象
ret=obj.search('abc123eeee') #對象調(diào)用模塊方法 
print(ret.group()) #輸出123,優(yōu)點是可重復調(diào)用,避免重復寫規(guī)則,提高效率
ret=re.finditer('\d','ds3sy4784a') #將查找的內(nèi)容生成迭代器
print(ret) #返回一個迭代器
print(next(ret).group()) #輸出'3',可使用group迭代輸出結(jié)果
print(next(ret).group()) #輸出'4',對于數(shù)據(jù)比較大的常用這種迭代方法,不占內(nèi)存

9、logging模塊(※※※※※)

import logging 

logging.debug('debug message') #日志級別等級CRITICAL>ERROR>WARNING>INFO>DEBUG>NOTSET
logging.info('info message') 
logging.warning('warning message') 
logging.error('error message') 
logging.critical('critical message') #輸出WARNING:root:warning message
          #  ERROR:root:error message
          #  CRITICAL:root:critical message
          #日志默認級別為WARNING,打印本身及后面的,格式為日志級別:Logger名稱:用戶輸出消息


import logging 
logging.basicConfig(level=logging.DEBUG, 
     format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', 
     datefmt='%a, %d %b %Y %H:%M:%S', 
     filename='/tmp/test.log', 
     filemode='w') #使用basicConfig設(shè)置格式,level設(shè)置日志級別;format指定顯示格式;datefmt指定日期時間格式;
filename指定日志存儲的文件名;filemode指定filename的文件打開方式,默認值為“a”
 
logging.debug('debug message') 
logging.info('info message') 
logging.warning('warning message') 
logging.error('error message') 
logging.critical('critical message')#輸出cat /tmp/test.log 
         #  Sun, 13 Oct 2019 16:29:53 test_logging.py[line:9] DEBUG debug message
         #  Sun, 13 Oct 2019 16:29:53 test_logging.py[line:10] INFO info message
         #  Sun, 13 Oct 2019 16:29:53 test_logging.py[line:11] WARNING warning message
         #  Sun, 13 Oct 2019 16:29:53 test_logging.py[line:12] ERROR error message
         #  Sun, 13 Oct 2019 16:29:53 test_logging.py[line:13] CRITICAL critical message

  PS:上面的format格式化參數(shù)可能用到:

   %(name)s:Logger的名字
    %(levelno)s:數(shù)字形式的日志級別
     %(levelname)s:文本形式的日志級別
    %(pathname)s:調(diào)用日志輸出函數(shù)的模塊的完整路徑名,可能沒有
     %(filename)s:調(diào)用日志輸出函數(shù)的模塊的文件名
    %(module)s:調(diào)用日志輸出函數(shù)的模塊名
  %(funcName)s:調(diào)用日志輸出函數(shù)的函數(shù)名
    %(lineno)d:調(diào)用日志輸出函數(shù)的語句所在代碼行
    %(created)f:用UNIX標準的表示時間的浮點數(shù)表示的當前時間
     %(relativeCreated)d:輸出Logger創(chuàng)建以來的日志信息的毫秒數(shù)
     %(asctime)s:字符串形式的當前時間,默認格式 “2019-10-13 16:49:45,896”(逗號后面的是毫秒)
     %(thread)d:線程ID,可能沒有
   %(threadName)s:線程名,可能沒有
     %(process)d:進程ID,可能沒有
    %(message)s:用戶輸出的消息

  關(guān)于logger對象

import logging

logger = logging.getLogger() #函數(shù)getLogger([name])返回一個logger對象,若無name則返回root logger
fh = logging.FileHandler('test.log') #創(chuàng)建一個handler,用于寫入日志文件
ch = logging.StreamHandler() #再創(chuàng)建一個handler,用于輸出到控制臺
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') #Formatter指定日志顯示格式
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch) #logger對象可以添加多個fh和ch對象

logger.debug('logger debug message')
logger.info('logger info message')
logger.warning('logger warning message')
logger.error('logger error message')
logger.critical('logger critical message') #輸出2019-10-14 19:51:23,552 - root - WARNING - logger warning message
                      #  2019-10-14 19:51:23,552 - root - ERROR - logger error message
                      #  2019-10-14 19:51:23,552 - root - CRITICAL - logger critical message

  PS:這里可以用logger.setLevel(logging.Debug)為logger設(shè)置日志級別,默認的日志級別為WARNIING,另外如果創(chuàng)建兩個logger對象,如果參數(shù)name相同,返回的Logger實例就是同一個,后面?zhèn)€的日志級別則覆蓋前面的日志級別,且后面的日志會把前面的再打印一遍

10、configparser模塊(※※※※)

    很多軟件的文檔格式是這樣:

View Code
    那怎么用python生成一個這樣的文檔:

import configparser
 
config = configparser.ConfigParser()
config["DEFAULT"] = {'ServerAliveInterval': '45',
      'Compression': 'yes',
      'CompressionLevel': '9'} #通過config加入數(shù)據(jù),類似字典
config['bitbucket.org'] = {}
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com']
topsecret['Host Port'] = '50022'
topsecret['ForwardX11'] = 'no'
config['DEFAULT']['ForwardX11'] = 'yes'
with open('example.ini', 'w') as configfile:
 config.write(configfile)

    操作:

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
 
[bitbucket.org]
User = hg
 
[topsecret.server.com]
Port = 50022
ForwardX11 = no

11、hashlib模塊(※※)

import hashlib

m=hashlib.md5() #也可以用m=hashlib.sha256(),此模塊主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法
m.update('hello'.encode('utf8')) #要進行哈希的的字符串“hello”
print(m.hexdigest()) #輸出5d41402abc4b2a76b9719d911017c592
m.update('alvin'.encode('utf8'))
print(m.hexdigest()) #輸出92a7e713c30abbb0319fa07da2a5c4af
m2=hashlib.md5() #另外定義一個變量
m2.update('helloalvin'.encode('utf8')) #把前兩個字符串連起來處理
print(m2.hexdigest()) #輸出92a7e713c30abbb0319fa07da2a5c4af,即上面的m是先哈希hello,再加上alvin哈希

    那么現(xiàn)在有一個很大的數(shù)據(jù)庫,統(tǒng)計了很多常用的字符串,于是可能會被反解,稱為撞庫。為了避免這種情況可以用以下這種方法:

import hashlib

m = hashlib.sha256('898oaFs09f'.encode('utf8')) #在處理之前加一段哈希的隨機字符串
m.update('alvin'.encode('utf8'))
print(m.hexdigest())#輸出04d0625659c27032274faf030cd842676be3b8912bb255f9d3445d86c1e5de80


    當然python還有一個hmac模塊,它內(nèi)部對我們創(chuàng)建key和內(nèi)容,然后再進行處理后加密:

import hmac

h = hmac.new('alvin'.encode('utf8'))
h.update('hello'.encode('utf8'))
print (h.hexdigest()) #輸出320df9832eab4c038b6c1d7ed73a5940

總結(jié)

以上所述是小編給大家介紹的python模塊常用用法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 一文教你向Pandas?DataFrame添加行

    一文教你向Pandas?DataFrame添加行

    這篇文章主要給大家介紹了關(guān)于如何向Pandas?DataFrame添加行的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • 使用Python實現(xiàn)保存剪貼板中的圖像

    使用Python實現(xiàn)保存剪貼板中的圖像

    這篇文章主要為大家詳細介紹了如何使用Python創(chuàng)建一個簡單的GUI應(yīng)用程序,實現(xiàn)保存剪貼板中的圖像功能,文中的示例代碼講解詳細,需要的可以參考下
    2023-09-09
  • Python編程實現(xiàn)兩個文件夾里文件的對比功能示例【包含內(nèi)容的對比】

    Python編程實現(xiàn)兩個文件夾里文件的對比功能示例【包含內(nèi)容的對比】

    這篇文章主要介紹了Python編程實現(xiàn)兩個文件夾里文件的對比功能,包含內(nèi)容的對比操作,涉及Python文件與目錄的遍歷、比較、運算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Python?matplotlib實戰(zhàn)之雷達圖繪制

    Python?matplotlib實戰(zhàn)之雷達圖繪制

    雷達圖(Radar?Chart),也被稱為蛛網(wǎng)圖或星型圖,是一種用于可視化多個變量之間關(guān)系的圖表形式,本文主要為大家介紹了如何使用Matplotlib繪制雷達圖,需要的小伙伴可以參考下
    2023-08-08
  • 分享6 個值得收藏的 Python 代碼

    分享6 個值得收藏的 Python 代碼

    這篇文章主要分享了6 個值得收藏的 Python 代碼,希望隊長正在學習的你有所幫助,需要的小伙伴也可以參考一下
    2022-01-01
  • Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹

    Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹

    這篇文章主要介紹了Python網(wǎng)頁解析利器BeautifulSoup安裝使用介紹,本文用一個完整示例一步一步安裝了BeautifulSoup的安裝和使用過程,需要的朋友可以參考下
    2015-03-03
  • python的類方法和靜態(tài)方法

    python的類方法和靜態(tài)方法

    這篇文章主要介紹了python的類方法和靜態(tài)方法,以實例形式分析了Python中類方法和靜態(tài)方法的實現(xiàn)技巧與應(yīng)用方法,需要的朋友可以參考下
    2014-12-12
  • python編寫分類決策樹的代碼

    python編寫分類決策樹的代碼

    這篇文章主要為大家詳細介紹了python編寫分類決策樹的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 使用python刪除PDF文檔頁面注釋的代碼示例

    使用python刪除PDF文檔頁面注釋的代碼示例

    PDF文檔因其跨平臺的兼容性和格式穩(wěn)定性而備受青睞,然而,隨著文檔在不同用戶間的流轉(zhuǎn),累積的注釋可能會變得雜亂無章,因此,適時地移除PDF文檔中的注釋非常重要,所以本文將演示如何使用Python來刪除PDF文檔頁面的注釋,需要的朋友可以參考下
    2024-08-08
  • python中如何使用樸素貝葉斯算法

    python中如何使用樸素貝葉斯算法

    本文主要介紹了python中如何使用樸素貝葉斯算法的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04

最新評論