Python常见函数与操作

一、内置函数

1. complex([real[,imag]])

返回一个复数,实部 + 虚部*1j,或者把字符串或者数字转成复数形式。

参数可以是复数表达式,也可以是字符串。当参数是字符串的时候,数字与操作符之间不能有空格。即comple('1 + 2j')是错误的。

print(complex(1, 2))
print(complex(1 + 2j))
print(complex('1+2j'))
# 输出 1+2j
print(complex(1))
# 输出 1+0j

满足:实部 + 虚部*1j 的数被称为复数。

a = 1 + 3j
# 求实部
print(a.real)
# 求虚部
print(a.imag)
# 求共轭
print(a.conjugate())

2. chr(i) 与 ord(i)

chr(i) 是将当前整数 i 转成对应的 ascii 字符,可以是十进制,也可以是十六进制,其中0 <= i <= 0x10ffff (1114111)。其对应的逆操作为 ord(i),i 为 ascii 字符。

下面的函数演示如何求一个可迭代对象的 ascil字符 或者其对应的数值。注意函数 ordplus ,参数 x 中的每一个元素必须是单个字符,如果是列表,形式如下:[‘P’ , ‘y’, ‘t’ , ‘h’, ‘o’ , ‘n’]。

def chrplus(x):
    chr_string = ''
    for elem in x:
        chr_string += chr(elem)
    return chr_string

def ordplus(x):
    ord_list = []
    for elem in x:
        ord_list.append(ord(elem))
    return ord_list

x = 'Python高效编程'
temp = ordplus(x)
print(temp)
# 输出:[112, 121, 116, 104, 111, 110,
# 39640, 25928, 32534,31243]
init = chrplus(temp)
print(init)
# 输出:Python高效编程

3.enumerate(iterable, start=0)

返回 enumerate 对象。迭代对象必须是序列,迭代器,或者其他支持迭代的对象。enmerate() 函数返回的是迭代器,同样是可迭代对象。每次迭代的元素,都包含元素在序列里的序号(strat 默认值为 0) 和元素对应值。因此,我们可以用 for 循环获取返回值。

等价于:

def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1
for i, elem in enumerate(['P', 'y', 't', 'h', 'o', 'n']):
    print(i, elem)

4. abs(x)

返回数的绝对值。参数可以是整数或者浮点数。如果参数是复数,返回复数的模。Python 中虚数用数值加上字符 j 的形式表示。要注意 j 前面的数值不能省略,比如 1j

下面是我写的简易版的 abs 函数:

from math import sqrt
def naive_abs(x):
    # isinstance 判断参数x是否为整数或浮点数
    if isinstance(x, int) or isinstance(x, float):
        if x < 0:
            x = - x
    # 判断参数x是否为复数
    elif isinstance(x, complex):
        # x.real 复数的实部 
        # x.imag 复数的虚部
        real = x.real
        imag = x.imag
        # 求复数的模
        x = sqrt(real ** 2 + imag ** 2)
    else :
        return '请输入 i
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值