Python 实用小技巧(3)

本文介绍了Python编程的一些基本操作,包括取商和余数的divmod函数、字符串格式化方法、isinstance用于类型检查以及如何使用zip进行聚合迭代。还展示了如何用简洁的方式实现一个简单的计算器,无需else和if语句。这些技巧对于理解和提升Python编程技能非常有帮助。
摘要由CSDN通过智能技术生成

1、取商和余数

>>> divmod(10, 3)
(3, 1)

2、字符串格式化

格式化输出字符串,format(value, format_spec)实质上是调用了valueformat(format_spec)方法。

>>> print("I am {0}, age {1}.".format("Jim",18))
I am Jim, age 18.
>>> print("{:+.2f}".format(3.1415926))
+3.14

3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
-1{:+.2f}-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00e+09指数记法
18{:>10d}' 18'右对齐 (默认, 宽度为10)
18{:<10d}'18 '左对齐 (宽度为10)
18{:^10d}' 18 '中间对齐 (宽度为10)

3、判断是否为某类

isinstance判断*object是否为类classinfo*的实例,是返回True

isinstance(obj, class_or_tuple, /)

返回一个对象是类的实例还是类的子类的实例。

元组,如isinstance(x, (A, B,…)),可以作为目标核对。这相当于"isinstance(x, A)isinstance(x, B)还是……"等等。

>>> import pandas as pd
>>> df = pd.DataFrame(data=[0,1], index=[0,1])
>>> isinstance(df, pd.DataFrame)
True

4、聚合迭代器

创建一个聚合了来自每个可迭代对象中的元素的迭代器:

>>> x = [3,2,1]
>>> y = [4,5,6]
>>> list(zip(y,x))
[(4, 3), (5, 2), (6, 1)]
>>> a = range(5)
>>> b = list('abcde')
>>> b
['a', 'b', 'c', 'd', 'e']
>>> [str(y) + str(x) for x,y in zip(a,b)]
['a0', 'b1', 'c2', 'd3', 'e4']

5、不用elseif实现计算器

>>> from operator import *
>>> def calculator(a, b, k):
...     return {
...            '+': add,
...            '-': sub,
...            '*': mul,
...            '/': truediv,
...            '**': pow
...            }[k](a, b)
>>> calculator(1, 2, '+')  
3
>>> calculator(3, 4, '**')  
81
-- 数据STUDIO -- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值