python内置函数

本文深入探讨了Python编程的关键概念,包括作用域、输入输出、内存管理、文件操作、模块导入、帮助系统、调用机制、数据类型转换、数学运算、数据结构操作、迭代器生成器、字符串处理、编码转换、数据排序、匿名函数、拉链方法、映射和过滤等高级主题,旨在提升开发者对Python的理解和应用能力。
摘要由CSDN通过智能技术生成
# -*- coding:utf-8 -*-


# 作用域相关
globals()     # 返回一个字典:包含全部的全局变量
locals()     # 返回一个字典:包含全部的局部变量

# 其他相关(不建议用)
eval('1+1')      # 把字符串两边的引号去掉,执行中间的代码,并返回执行结果
# eval只能用在你明确知道你要执fn 行的代码是什么
exec("""for i in range(3):
            print(i)""")      # 把字符串两边的引号去掉,执行中间的代码,没有返回值,用于代码流
# compile()     # 将字符串类型的代码编译,代码对象能够通过exec语句来执行或eval进行求值

# 输入输出相关
# input()     # 接收一个标准输入数据,返回一个字符串
print()     # 打印输出
print(*(1, 2, 3))    # 函数的定义*是聚合的意思;函数的执行*是打散的意思
# print(1, 2, 3, sep='|', end='')  # sep打印多个内容的分隔符默认是空格,end默认换行
f = open('t1', encoding='utf-8', mode='w')
print(1, '2', file=f)

# 内存相关
hash(3)   # 获取一个对象的哈希值(可哈希的对象:int ,str, bool, tuple)    字典和集合都是不可哈希的数据类型
# 对于相同可哈希的数据hash值在一次程序执行过程中无论哈希多少次都不会有变化
# 字典:会将你所有的key在内存中转化为ID  (字典的键必须是可哈希的数据类型,即不可变数据类型)
id(1)    # 获取该对象的内存地址

# 文件相关   open()

# 模块相关   __import__   函数用于动态加载类和函数

# 帮助
# help(str)

# 调用相关
a = 1
callable(1)   # 检测一个变量是否可以被调用

# 查看内置方法
# name = 'alex'
# dir(name)    # 变量的所有方法

# 迭代器生成器相关
# range(2)   返回可迭代的对象
# iter()
# next()

# 基础数据类型相关
bool()    # 检测一个对象
int()     # 取整,不是四舍五入
int('0101', base=2)   # 将二进制0101转化为十进制
float()    # 将字符串转化为浮点型

# 进制转换
# bin()   # 将十进制转化为二进制并返回
# oct()   # 将十进制转化为八进制字符串并返回
# hex()   # 将十进制转化为十六进制字符串并返回

# 数学运算
# abs()       # 返回数字的绝对值
# divmod()    # 计算除数与被除数的结果,返回一个包含商和余数的元组
# round()     # 保留浮点数的小数位数,默认保留整数
# pow()       # 求x**y的次幂,(第三个参数对z取余)
# sum()       # 对可迭代的对象进行求和  sum(iterable, start_num)  第二个参数设置初始值
# min()       # min(iterable, key=函数名)  根据函数的规则求最小值
list1 = [('alex', 1000), ('wusir', 500), ('taibai', 18)]
def func(x):
    return x[1]
min(list1, key=func)
# 1、他会将iterable的每一个元素当做函数的参数传进去
# 2、他会按照key的返回值去取最小值
# 3、返回的是遍历iterable中的元素
dict1 = {'a':3, 'b':2, 'c':1}
def func2(x):
    return dict1[x]
print(min(dict1, key=func2))
print(max(dict1, key=lambda x: dict1[x]))

#数据类型强转换类
list()
tuple()
set()
frozenset()   # 比可变的集合
str()

# 数据类型:int str bool dict list set tuple
# 数据结构:dict list set tuple str      dict和tuple是python独有的数据类型

# 反转
list2 = []
# list2.reverse()    反转列表,改变原来的列表
reversed(list2)      # 保留原列表,返回一个反向的迭代器

# 切片
slice(1,5,2)    # 制定一个其切片规则

# 字符串
print(format('test', '<40'))   # 开40个空格,向左对齐
print(format('test', '>40'))
print(format('test', '^40'))

print(bytes('石谦', encoding='utf-8'))
print(bytes('石谦', encoding='GBK').decode('gbk'))
# 文件保存可以是各种编码,读到内存中都是Unicode编码

print(ord('a'))   # 字符按照Unicode转数字
print(ord('石'))   # 字符按照Unicode转数字
print(chr(97))    # 数字按照Unicode转字符
print(ascii('石'))  # 不是asciii的加/u输出

print(repr('1'))   # 原形毕露数据类型,格式化输出%r
print(repr(1))

# 数据结构相关
# enumerate()   # 枚举
# all和any接收一个可迭代的
# all()   # 有任何一个FALSE整体返回FALSE
# any()   # 有人一个true整体返回true

# 几个重要的
zip()     # 拉链方法,返回一个生成器
lst1=[1,2,3]
lst2=['a','b','c']
print(dict(zip(lst1, lst2)))

filter('函数名','可迭代的对象')
# 1、将可迭代的对象依次传入函数中,
# 2、函数的返回值必须是bool,过滤出结果为true的,
# 3、返回值是生成器,仍是可迭代对象的值

map('函数名','可迭代的对象')
# 1、将可迭代的对象依次传入函数中,
# 2、函数的返回值任意
# 3、返回值是生成器,是函数的返回值的生成器

l=[]
l.sort(key='函数名')   # 改变列表,排序,省内存
sorted(l,key='',reverse=True)    # 速度快,占内存
# 1、将可迭代的对象依次传入函数中,
# 2、根据函数的返回值进行排序
# 3、排好序后,返回的是遍历iterable中的元素,返回的是一个直接的列表,不是生成器。


# 面试题
#1、匿名函数+zip+map
ret = zip((('a'), ('b')), (('c'), ('d')))
print(list(map(lambda tup:{tup[0]: tup[1]}, ret)))
#2、下面代码的输入
def multipliers():
    return (lambda x:i*x for i in range(4))
print([m(2) for m in multipliers()])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值