python全局函数

Python有很多内置方法,这些都全局可用(函数内容不完整,请见谅)

abs()  求数值的绝对值,如果是复数则返回其模

print(abs(-17), abs(30.2), abs(3+4j))
#Python中复数表示为 3 实部 4虚部, + j

all()   可迭代对象所有元素为True则返回True,否则返回False

print(all([1, 3, ""]), all([1, 3, " "]))
 空格字符也算一个有效字符
print(all([1, 3, " "]), all([1, 3, None]))

any()  可迭代对象所有元素为False则返回False,否则返回True

print(any([None, {}, ""]), any([1, (), ""]))

ascii()  以ascii码依据转换为字符串,非ascii如UTF-8字符则有\u前缀进行转义

>>> ascii(33)
'33'
>>> ascii("虎")
"'\\u864e'"

bin()   整数转换为二进制字符串,遵守Python协议 __index__返回整数

class Number:
    def __index__(self):
        int_number = 33
        return int_number
 
print(bin(33))
print(bin(Number()))

bool()  对值进行布尔运算,一般 None、空字符串、空列表、空元组、空集合、空字典、0等空元素和空数据结构为False,其他为True

print(bool(None))
print(bool(" "))
print(bool(""))
print(bool([]))
print(bool({}))

bytearary  返回新的二进制数组,和list数据结构类似,拥有序列大多数方法,这个是存放二进制数据,添加数据需要输入整数参数范围为(0, 256)

number = bytearray("北门吹雪", encoding="utf-8")
number.append(11)
number.insert(0, 12)
print(number, type(number))

bytes   返回一个二进制不可变对象

 通过encoding指定转换对象字符编码
print(bytes("转换对象字符编码", encoding="utf-8"))

chr  返回数字对应的Unicode字符

print(chr(21271))
print(chr(38376))
北
门

ord  返回Unicode字符对应的数字

print(ord("北"))
21271
print(ord("门"))
38376

complex  返回复数, 分real和imag两个部分,通过+来连接real和imag,j标识imag部分

print(complex("4+5j"))
print(complex(4, 6))
(4+6j)

dict    生成一个新的字典对象,没有参数返回当前作用域变量和方法列表,添加对象则返回对象中变量和方法列表,遵守Python协议 dir 必须返回属性列表

print(dict(), type(dict()))

divmod    非复数整数,a//b a%b, 返回整除整数和余数

print(divmod(10, 3.0))

eval  运行字符串代码,不更改源码逻辑,可完成数学运算

在这里插入代码片

exec  运行字符代码,改变源码逻辑

sum = 0
exec("sum += 1")
print(sum)

filter  依次取出iterable中元素交给一个函数,取返回True的元素

import random
''' 生成 -10 到 10 之间的随机整数'''
numbers = [random.randint(-10, 10) for _ in range(10)]
 
def is_natural(number):
    """判断是否是自然数"""
    if isinstance(number, int) and number >= 0:
        return True
    else:
        return False
 
#返回filter对象
result = filter(is_natural, numbers)
print(list(result))

float  把字符串转换为float数据,自动去除两边空格,遵守Python协议 float

print(float("12.3"))
print(float(" 12"))
print(float("+105 "))
print(float(" -105 "))
''' 没参数则返回 0.0'''
print(float())
 
class BeiMenChuiXue:
    def __float__(self):
        return 10.3
 
print(float(BeiMenChuiXue()))

format    格式化字符串

name = "BeiMenChuiXue"
print("{name} is studying Python".format(name=name))

globals    当前模块的全局变量字典

getattr    通过字符串获取对象属性和方法值,一般联合hasattr使用

class BeiMenChuiXue:
 
    def hello(self):
        print("Heai, biemenchuixue")

beimenchuixue = BeiMenChuiXue()
print(getattr(beimenchuixue, 'hello', None))

hasattr    判断对象中是否有对应字符串的属性和方法

class BeiMenChuiXue:
    def hello(self):
        print("Heai, biemenchuixue")
 
beimenchuixue = BeiMenChuiXue()
if hasattr(beimenchuixue, "hello"):
    getattr(beimenchuixue, "hello")()

help    获取方法名和方法名下面的注释

>>> help(int)
Help on class int in module builtins:

hex    将整数转换为16进制,遵守Python协议 index,返回一个整数

>>> hex(16)
'0x10'
>>> hex(32)
'0x20'

id    获取对象内存地址,10进制

>>> a=10
>>> b=20
>>> id(a)
140716474996672
>>> id(b)
140716474996992

input    获取终端标准输入,自动去除末尾换行符,返回的是字符串

>>> name = input("请输入你的名字:")
请输入你的名字:lz
>>> print(name)
lz

int     默认10进制,将其他对象转换为10进制,base指定字符的进制,无对象则为0,遵守Python协议 __index__返回一个整数

>>>int(12.1)
>12
>>> a="123"
>>> type(a)
<class 'str'>
>>> b=int(a)
>>> b
123
>>> type(b)
<class 'int'>

isinstance  判断对象是否是某种或多个类型,判断对象是否继承某个类

Python-判断变量类型和继承树-isinstance type

issubclass  判断类是否是某个类的子类

class Father:
    pass
    
class Son(Father):
    pass

print(issubclass(Son, Father))

iter    返回迭代器对象,遵守Python协 iter nextgetitem

students = ["QiNiuYun", "BeiMenChuiXue", "JinRiTouTiao", "TengXun"]
print(hasattr(students, '__next__'))
 
''' 返回一个迭代器对象'''
students_iter = iter(students)
print(hasattr(students_iter, '__next__'))
print(students_iter.__next__())
  

len    获取对象长度, 遵守Python协议 len, 需要返回 len() 对象

>>> a=[1,2,3,4,56]
>>> len(a)
5

list    Python中列表,可以将Iterable转换为列表(有序列表,可以遍历)

>>> a=[1,2,3,5,6]
>>> type(a)
<class 'list'>
>>> b=list([1,5,9,8])
>>> type(b)
<class 'list'>

local    返回当前作用域中变量和值字典

def beimenchuixue():
    name = "BeiMenChuiXue"
    age = 19
    print(locals())

beimenchuixue()

map    将可迭代对象依次传入函数,返回可迭代对象

def go_upper(value):
    if isinstance(value, str):
        return value.upper()
    return ''
 
result = map(go_upper, ["beimenchuixue", 'qiniuyun', 'jinritoutiao'])
print(type(result))
print(result.__next__())

max    获取可迭代对象最大项元素

>>> max([1,5,8,4,7,8,10])
10

min    获取可迭代对象最小项元素

>>> max([1,5,8,4,7,8,10])
1

oct    将整数转换为8进制,遵循Python协议 index 返回一个整数

>>> oct(8)
'0o10'

ord    将Unicode字符转换为对应的整数

>>> ord("北")
21271

pow    返回 x * y 或 返回 x * y % z的值

>>> pow(10, 3)
1000
>>> pow(10, 3, 33)
10

print    输出流,到终端或者到文件

>>> print("请输入:")
请输入:

range  不可变数据序列,有三个参数 start, stop, step

>>> for i in range(1, 10, 2):
...     print(i)
...
1
3
5
7
9

reper  将对象转换为字符串

round    四舍五入保留多少小数位

>>> round(145.14567, 2)
145.15

set     集合,将iterable对象中元素依次添加到集合中,集合天生无序和去重

>>> a=[1,5,9,4,6,5,1,4]
>>> c=set(a)
>>> a
[1, 5, 9, 4, 6, 5, 1, 4]
>>> c
{1, 4, 5, 6, 9}
>>> type(b)

slice    返回切片范围对象, start, end, step,不写默认None

>>> bei = slice(0, 3)
>>> bei
slice(0, 3, None)
>>>

str    把对象转换为字符str类型,类似 repr,遵循Python协议 str

>>> a=int(1234)
>>> b=str(a)
>>> b
'1234'
>>> type(b)
<class 'str'>
>>>

sorted  将iterable对象进行排序

import random
 
numbers = [random.randint(-10, 10) for _ in range(10)]
print(numbers)
print(sorted(numbers))
print(numbers)
print(sorted(numbers, reverse=True))
  

sum   序列求和,整数序列

>>> sum([1, 23, 4])
28

super  调用父类方法,本质上是寻找.__mro__下一个类中方法

tuple    元组,不可变序列类型(不能修改)
一个元素

>>> a=(2,)
>>> type(a)
<class 'tuple'>

type    返回对象是由什么类型构建的

>>> a=int(10)
>>> b=float(11.2)
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>

vars    获取对象(模块、类、实例、字典等)具有__dict__属性的字典,对象 __dict__另外一种实现方式

def beimenchuixue():
    name = "对象"
    age = 16
    print(vars())
 
beimenchuixue()
 
print(vars(beimenchuixue))
 
 
class BeiMenChuiXue:
    def __init__(self, name, language, age):
        self.name = name
        self.language = language
        self.age = age
 
 
beimenchuixue = BeiMenChuiXue("对象", '汉语', '16')
print(beimenchuixue.language)

zip    依次取出可迭代对象中元素组成新的元组,返回一个迭代器

beimenchuixue = zip("beimenchuixue", "北门吹雪", "Hello word!")
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小时候不乖的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值