You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
263 lines
24 KiB
263 lines
24 KiB
1 week ago
|
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Python | 水榭听泉</title><meta name="author" content="Ruoneo"><meta name="copyright" content="Ruoneo"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="一、python类的实例方法、静态方法和类方法区别及其应用场景 https://blog.csdn.net/helloxiaozhe/article/details/79940321 二、python 中cls和self的区别 self:指的是一个具体实例的本身。如果在class中的某个方法加了@classmethod修饰器,那么这个方法不需要实例化也能直接被其他程序调用。 cls:表示这个类本身">
|
||
|
<meta property="og:type" content="article">
|
||
|
<meta property="og:title" content="Python">
|
||
|
<meta property="og:url" content="https://ismaxu.com/2020/11/13/Python/index.html">
|
||
|
<meta property="og:site_name" content="水榭听泉">
|
||
|
<meta property="og:description" content="一、python类的实例方法、静态方法和类方法区别及其应用场景 https://blog.csdn.net/helloxiaozhe/article/details/79940321 二、python 中cls和self的区别 self:指的是一个具体实例的本身。如果在class中的某个方法加了@classmethod修饰器,那么这个方法不需要实例化也能直接被其他程序调用。 cls:表示这个类本身">
|
||
|
<meta property="og:locale" content="zh_CN">
|
||
|
<meta property="og:image" content="https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg">
|
||
|
<meta property="article:published_time" content="2020-11-13T12:40:15.000Z">
|
||
|
<meta property="article:modified_time" content="2021-02-08T04:29:56.000Z">
|
||
|
<meta property="article:author" content="Ruoneo">
|
||
|
<meta name="twitter:card" content="summary">
|
||
|
<meta name="twitter:image" content="https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg"><link rel="shortcut icon" href="/img/avatar.jpg"><link rel="canonical" href="https://ismaxu.com/2020/11/13/Python/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
|
||
|
root: '/',
|
||
|
algolia: undefined,
|
||
|
localSearch: {"path":"/search.xml","preload":false,"languages":{"hits_empty":"找不到您查询的内容:${query}"}},
|
||
|
translate: undefined,
|
||
|
noticeOutdate: undefined,
|
||
|
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
|
||
|
copy: {
|
||
|
success: '复制成功',
|
||
|
error: '复制错误',
|
||
|
noSupport: '浏览器不支持'
|
||
|
},
|
||
|
relativeDate: {
|
||
|
homepage: false,
|
||
|
post: false
|
||
|
},
|
||
|
runtime: '',
|
||
|
date_suffix: {
|
||
|
just: '刚刚',
|
||
|
min: '分钟前',
|
||
|
hour: '小时前',
|
||
|
day: '天前',
|
||
|
month: '个月前'
|
||
|
},
|
||
|
copyright: undefined,
|
||
|
lightbox: 'fancybox',
|
||
|
Snackbar: undefined,
|
||
|
source: {
|
||
|
justifiedGallery: {
|
||
|
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
|
||
|
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
|
||
|
}
|
||
|
},
|
||
|
isPhotoFigcaption: false,
|
||
|
islazyload: true,
|
||
|
isAnchor: false
|
||
|
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
|
||
|
title: 'Python',
|
||
|
isPost: true,
|
||
|
isHome: false,
|
||
|
isHighlightShrink: false,
|
||
|
isToc: true,
|
||
|
postUpdate: '2021-02-08 12:29:56'
|
||
|
}</script><noscript><style type="text/css">
|
||
|
#nav {
|
||
|
opacity: 1
|
||
|
}
|
||
|
.justified-gallery img {
|
||
|
opacity: 1
|
||
|
}
|
||
|
|
||
|
#recent-posts time,
|
||
|
#post-meta time {
|
||
|
display: inline !important
|
||
|
}
|
||
|
</style></noscript><script>(win=>{
|
||
|
win.saveToLocal = {
|
||
|
set: function setWithExpiry(key, value, ttl) {
|
||
|
if (ttl === 0) return
|
||
|
const now = new Date()
|
||
|
const expiryDay = ttl * 86400000
|
||
|
const item = {
|
||
|
value: value,
|
||
|
expiry: now.getTime() + expiryDay,
|
||
|
}
|
||
|
localStorage.setItem(key, JSON.stringify(item))
|
||
|
},
|
||
|
|
||
|
get: function getWithExpiry(key) {
|
||
|
const itemStr = localStorage.getItem(key)
|
||
|
|
||
|
if (!itemStr) {
|
||
|
return undefined
|
||
|
}
|
||
|
const item = JSON.parse(itemStr)
|
||
|
const now = new Date()
|
||
|
|
||
|
if (now.getTime() > item.expiry) {
|
||
|
localStorage.removeItem(key)
|
||
|
return undefined
|
||
|
}
|
||
|
return item.value
|
||
|
}
|
||
|
}
|
||
|
|
||
|
win.getScript = url => new Promise((resolve, reject) => {
|
||
|
const script = document.createElement('script')
|
||
|
script.src = url
|
||
|
script.async = true
|
||
|
script.onerror = reject
|
||
|
script.onload = script.onreadystatechange = function() {
|
||
|
const loadState = this.readyState
|
||
|
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
|
||
|
script.onload = script.onreadystatechange = null
|
||
|
resolve()
|
||
|
}
|
||
|
document.head.appendChild(script)
|
||
|
})
|
||
|
|
||
|
win.activateDarkMode = function () {
|
||
|
document.documentElement.setAttribute('data-theme', 'dark')
|
||
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
||
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
|
||
|
}
|
||
|
}
|
||
|
win.activateLightMode = function () {
|
||
|
document.documentElement.setAttribute('data-theme', 'light')
|
||
|
if (document.querySelector('meta[name="theme-color"]') !== null) {
|
||
|
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
|
||
|
}
|
||
|
}
|
||
|
const t = saveToLocal.get('theme')
|
||
|
|
||
|
if (t === 'dark') activateDarkMode()
|
||
|
else if (t === 'light') activateLightMode()
|
||
|
|
||
|
const asideStatus = saveToLocal.get('aside-status')
|
||
|
if (asideStatus !== undefined) {
|
||
|
if (asideStatus === 'hide') {
|
||
|
document.documentElement.classList.add('hide-aside')
|
||
|
} else {
|
||
|
document.documentElement.classList.remove('hide-aside')
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const detectApple = () => {
|
||
|
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
|
||
|
document.documentElement.classList.add('apple')
|
||
|
}
|
||
|
}
|
||
|
detectApple()
|
||
|
})(window)</script><meta name="generator" content="Hexo 6.2.0"></head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">64</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">26</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fas fa-comment-dots"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/links/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">水榭听泉</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fas fa-comment-dots"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/links/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">Python<a class="post-edit-link" href="https://git.ismaxu.com/ruoneo/hexo-generator/src/branch/main/source/_posts/Python.md" title="编辑" target="_blank"><i class="fas fa-pencil-alt"></i></a></h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2020-11-13T12:40:15.000Z" title="发表于 2020-11-13 20:40:15">2020-11-13</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2021-02-08T04:29:56.000Z" title="更新于 2021-02-08 12:29:56">2021-02-08</time></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-wordcount"><i class="far fa-file-word fa-fw post-meta-icon"></i><span class="post-meta-label">字数总计:</span><span class="word-count">163</span><span class="post-meta-separator">|</span><i
|
||
|
<p><a target="_blank" rel="noopener" href="https://blog.csdn.net/helloxiaozhe/article/details/79940321">https://blog.csdn.net/helloxiaozhe/article/details/79940321</a></p>
|
||
|
<h3 id="二、python-中cls和self的区别">二、python 中cls和self的区别</h3>
|
||
|
<p>self:指的是一个具体实例的本身。如果在class中的某个方法加了@classmethod修饰器,那么这个方法不需要实例化也能直接被其他程序调用。<br>
|
||
|
cls:表示这个类本身。<br>
|
||
|
<a target="_blank" rel="noopener" href="https://blog.csdn.net/gtf215998315/article/details/106868558">https://blog.csdn.net/gtf215998315/article/details/106868558</a></p>
|
||
|
<h3 id="三、list-extend-和list-append">三、list.extend()和list.append()</h3>
|
||
|
<blockquote>
|
||
|
<blockquote>
|
||
|
<blockquote>
|
||
|
<p>li = [‘a’, ‘b’, ‘c’]<br>
|
||
|
li.extend([‘d’, ‘e’, ‘f’])<br>
|
||
|
li [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’]<br>
|
||
|
len(li)<br>
|
||
|
6<br>
|
||
|
li[-1] ‘f’ >>> li = [‘a’, ‘b’, ‘c’]<br>
|
||
|
li.append([‘d’, ‘e’, ‘f’])<br>
|
||
|
li [‘a’, ‘b’, ‘c’, [‘d’, ‘e’, ‘f’]]<br>
|
||
|
len(li)<br>
|
||
|
4<br>
|
||
|
li[-1] [‘d’, ‘e’, ‘f’]</p>
|
||
|
</blockquote>
|
||
|
</blockquote>
|
||
|
</blockquote>
|
||
|
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="https://ismaxu.com">Ruoneo</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="https://ismaxu.com/2020/11/13/Python/">https://ismaxu.com/2020/11/13/Python/</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://ismaxu.com" target="_blank">水榭听泉</a>!</span></div></div><div class="tag_share"><div class="post-meta__tag-list"></div><div class="post_share"><div class="social-share" data-image="https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/js/social-share.min.js" defer></script></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/2020/12/13/chrome%E5%BF%AB%E6%8D%B7%E9%94%AE/"><img class="prev-cover" src="https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">chrome快捷键</div></div></a></div><div class="next-post pull-right"><a href="/2020/11/01/%E5%93%8D%E5%BA%94%E7%8A%B6%E6%80%81%E7%A0%81/"><img class="next-cover" src="https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">响应状态码</div></div></a></div></nav><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> 评论</span></div><div id="comment-switch"><span class="first-comment">Twikoo</span><span class="switch-btn"></span><span class="second-comment">Gitalk</span></div></div><div class="comment-wrap"><div><div id="twikoo-wrap"></div></div><div><div id="gitalk-container"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Ruoneo</div><div class="author-info__description">嗨! 你好!</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">64</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">26</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/ruoneo" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="mailto:xum321@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">感谢来访。希望这里有对你有帮助的内容。</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%80%E3%80%81python%E7%B1%BB%E7%9A%84%E5%AE%9E%E4%BE%8B%E6%96%B
|
||
|
document.querySelectorAll('#article-container span.katex-display').forEach(item => {
|
||
|
btf.wrap(item, 'div', { class: 'katex-wrap'})
|
||
|
})
|
||
|
})()</script><script>(()=>{
|
||
|
const init = () => {
|
||
|
twikoo.init(Object.assign({
|
||
|
el: '#twikoo-wrap',
|
||
|
envId: 'https://tk.ismaxu.com',
|
||
|
region: '',
|
||
|
onCommentLoaded: function () {
|
||
|
btf.loadLightbox(document.querySelectorAll('#twikoo .tk-content img:not(.tk-owo-emotion)'))
|
||
|
}
|
||
|
}, null))
|
||
|
}
|
||
|
|
||
|
const getCount = () => {
|
||
|
const countELement = document.getElementById('twikoo-count')
|
||
|
if(!countELement) return
|
||
|
twikoo.getCommentsCount({
|
||
|
envId: 'https://tk.ismaxu.com',
|
||
|
region: '',
|
||
|
urls: [window.location.pathname],
|
||
|
includeReply: false
|
||
|
}).then(function (res) {
|
||
|
countELement.innerText = res[0].count
|
||
|
}).catch(function (err) {
|
||
|
console.error(err);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
const runFn = () => {
|
||
|
init()
|
||
|
|
||
|
}
|
||
|
|
||
|
const loadTwikoo = () => {
|
||
|
if (typeof twikoo === 'object') {
|
||
|
setTimeout(runFn,0)
|
||
|
return
|
||
|
}
|
||
|
getScript('https://cdn.jsdelivr.net/npm/twikoo/dist/twikoo.all.min.js').then(runFn)
|
||
|
}
|
||
|
|
||
|
if ('Twikoo' === 'Twikoo' || !false) {
|
||
|
if (false) btf.loadComment(document.getElementById('twikoo-wrap'), loadTwikoo)
|
||
|
else loadTwikoo()
|
||
|
} else {
|
||
|
window.loadOtherComment = () => {
|
||
|
loadTwikoo()
|
||
|
}
|
||
|
}
|
||
|
})()</script><script>function addGitalkSource () {
|
||
|
const ele = document.createElement('link')
|
||
|
ele.rel = 'stylesheet'
|
||
|
ele.href= 'https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.css'
|
||
|
document.getElementsByTagName('head')[0].appendChild(ele)
|
||
|
}
|
||
|
|
||
|
function loadGitalk () {
|
||
|
function initGitalk () {
|
||
|
var gitalk = new Gitalk(Object.assign({
|
||
|
clientID: 'f9bab17720653ab07b39',
|
||
|
clientSecret: 'e77fbcac5c4043ddf8d845aee7d6d5f118f607e2',
|
||
|
repo: 'ruoneo-comment-repo',
|
||
|
owner: 'ruoneo',
|
||
|
admin: ['ruoneo'],
|
||
|
id: '32b68fbb5c663317c10a0757c3ff192b',
|
||
|
updateCountCallback: commentCount
|
||
|
},null))
|
||
|
|
||
|
gitalk.render('gitalk-container')
|
||
|
}
|
||
|
|
||
|
if (typeof Gitalk === 'function') initGitalk()
|
||
|
else {
|
||
|
addGitalkSource()
|
||
|
getScript('https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js').then(initGitalk)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function commentCount(n){
|
||
|
let isCommentCount = document.querySelector('#post-meta .gitalk-comment-count')
|
||
|
if (isCommentCount) {
|
||
|
isCommentCount.innerHTML= n
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if ('Twikoo' === 'Gitalk' || !false) {
|
||
|
if (false) btf.loadComment(document.getElementById('gitalk-container'), loadGitalk)
|
||
|
else loadGitalk()
|
||
|
} else {
|
||
|
function loadOtherComment () {
|
||
|
loadGitalk()
|
||
|
}
|
||
|
}</script></div></div></body></html>
|