一些小小tricks

Python技巧
  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…

  2. 排序:根据序列元素(列表/字典/元组)的值进行排序

# 元素为列表
list1 = [['li', 5],['wang', 3],['hao', 4]]
print(sorted(list1, key=lambda k:k[1], reverse=True))  # (降序) [['li', 5], ['hao', 4], ['wang', 3]]
# 元素为字典
list2 = [{'name': 'wang', 'age': 4}, {'name': 'li', 'age': 3}, {'name': 'hao', 'age': 5}]
print(sorted(list2, key=lambda k: k['age'], reverse=False))  # (升序) [{'name': 'li', 'age': 3}, {'name': 'wang', 'age': 4}, {'name': 'hao', 'age': 5}]
  1. Excel表格批量处理一列数据
    选中一列数据,在第一个单元格输入公式,Ctrl+Enter即可将该列全部格式化处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值