咸糖记录编程的地方

念念不忘,必有回响。

目录
python高级用法
/  

python高级用法

#获取属性

proxy_iter = [_ for _ in getattr(GetFreeProxy, proxyGetter.strip())()]

getattr获取类的属性和方法然后直接调用

isinstance(proxy, bytes):
'''
返回布尔值
'''

检验是不是制定类型

——————————5/11————————–
更新一个不算高级用法的 简单用法
解答下当时的误区
很基础 不过忘记了
列表前开后关 由于第一个下标是0开始的 所以下标为列表长度是可以的

用下标遍历列表的时候 是可以用range(len(nums))因为python 的右括号是关闭的

——————————5/16—————————
搬运
os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。

—————————–5/31——————————–

##classmethod用法
最近在研究scrapy 信号的时候有些关于@classmethod的迷惑
今天特地去看了大佬的博客
稍微写一些见解
由于python 一切都是对象
所以毫无疑问类也是对象
我们可以访问类的属性
@classmethod的用法也主要是通过传入一个类
对类的属性进行操作 或返回一个新的实例

def get_no_of_instance(cls):
    return cls.no_list
class Kls(object):
    no_list=0
    def __init__(self):
        Kls.no_list=Kls.no_list+1

print(get_no_of_instance(Kls))

在python2.2之后python引入了@classmethod类方法修饰符

class Kls(object):
    no_list=0
    def __init__(self):
        Kls.no_list=Kls.no_list+1
    @classmethod
    def get_no_of_instance(cls):
        return cls.no_list
class Kls(object):
    def __init__(self,data):
        self.data=data


    @classmethod
    def cmethod(cls):
        return cls(1)

也可以用它创建实例


标题:python高级用法
作者:xiantang
地址:http://xiantang.info/articles/2019/06/03/1559551036216.html

评论