一些小小tricks

  1. 编号(统一位数)
print"%03d"%num)  # 如003,008,020
  1. Python中查看变量的类型内存地址所占字节的大小
import sys

a = 32
print(id(a))  # 查看变量内存地址
print(sys.getsizeof(a))  # 28
  1. 根据不同参数(字符串)选择执行不同的函数
    感谢大佬文章【python】根据不同参数调用不同的函数
    (1)getattr()推荐,适合对相同参数采取不同函数,该方法显得很专业!
    用于返回一个对象属性值
    语法:
    getattr(object, name[, default])
    参数:
    object – 对象。
    name – 字符串,对象属性。
    default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError
    返回值:
    返回对象属性值

    class Function(object):
        def A(self, m):
            print("function A: ", m)
    
        def B(self, m):
            print("function B: ", m)
    
    getattr(Function(), 'B')('p')  # function B:  p
    

    (2)func_dict适合不需传参的函数,好理解)
    func_dict.get(x, func_None)()是从字典中取出键(参数)对应的函数对象,然后后面加上()是执行该对象的__call__方法。因为python中函数就是实现了__call__方法的对象。

    def funcA():
        print("A")
    
    def funcB():
        print("B")
    
    def func_None():
        print("cannot find func")
    
    func_dict = {"a": funcA, "b": funcB}
    
    def func(x):
        return func_dict.get(x, func_None)()
    
    func("a")
    

    (3)eval

    def A(m):
        print("A+", m)
    
    def B(m):
        print("B+", m)
    
    eval("{0}".format('B'))('Successful~')   # B+ Successful~
    

    (4)最传统、显得比较low方式:if… else…

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页