首页 > 其他分享 >内置函数

内置函数

时间:2023-12-28 10:57:11浏览次数:24  
标签:__ 10 内置 函数 list num print my

内置函数

一、数据类型转换 (8个)

强制类型转换的方法:

  • 强转成 字符串(str()
  • 强转成 整数(int()
  • 强转成 浮点数(float()
  • 强转成 布尔类型(bool()
  • 强转成 列表类型(list()
  • 强转成 元组类型(tuple()
  • 强转成 集合类型(set()
  • 强转成 字典类型(dict()

二、进制转换(3个)

# 十进制转二进制 , 0b 开头的就是二进制
print(bin(100))  # 0b1100100

# 十进制转八进制 , 0o 开头的就是八进制
print(oct(100))  # 0o144

# 十进制转十六进制 , 0x 开头的就是十六进制
print(hex(100))  # 0x64

三、数学运算(8个)

[1]绝对值(abs()

print(abs(-8)) # 8

[2]获取商和余数 (divmod(被除数,除数) )--- 分页的时候会用到它

print(divmod(7, 3))  # (2, 1)

[3]四舍五入(round(浮点数,要保留的小数位数(默认不保留小数))

print(round(2.05))  # 2 
print(round(2.051, 1))  # 2.1

#round函数有一个区别去真正数学运算的特性,要进行四舍五入的那一位不仅要自身大于等于5还要满足后一位数也有值
# 比如说2.5 进行四舍五入 不仅需要第一位小数的值大于5,还需要满足5后面还有值 2.50进行四舍五入结果就是2
print(round(2.49))  # 2
print(round(2.50))  # 2
print(round(2.51))  # 3

[4]幂次方(abs(x,y,z)

  • 参数介绍
    • x — 数值表达式(整数或者浮点数)
    • y — 数值表达式(整数或者浮点数)
    • z — 数值表达式(整数或者浮点数),默认不设置z值
    • 返回值:返回 x^y(x的y次方)的值;如果设置了z值,则再对结果进行取模,其结果等效于pow(x,y) %z;
# pow(底数,幂次方,除数) --> 取模
print(pow(3, 3))  # 27
#  设置了z值 等价于 3 * 3 * 3 % 5
print(pow(3, 3, 5))  # 2
print(3 * 3 * 3 % 5)  # 2
# 底数和幂次方都可以为小数,且任意一个值为小数时,结果都会是小数
print(pow(3, 3.0))  # 27.0
print(3.0 * 3.0 * 3.0)  # 27.0

[5]求和(sum()

  • 只能放可迭代类型
print(sum([11, 22, 33, 44]))  # 110

print(sum((12, 34)))  # 46

[6]求最大值(max()

print(max([1, 22, 3, 44, 5, 66, 7]))  # 66

[7]绝对值(min()

print(min([11, 2, 33, 4, 55, 6, 77]))  # 2

[8]复数(complex()

  • complex(re, im) : 具有实部 re、虚部 im 的复数。im 默认为零。
num_1 = complex(1, 2)
print(num_1)  # (1+2j)

num_2 = complex(3, 4)
print(num_2)  # (3+4)

res = num_1 + num_2
print(res)  # (4+6j)

四、序列化相关(5个)

[1]翻转(reversed()

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = reversed(num_list)
#翻转过的列表会转换成翻转对象需要强制转换成列表
print(new_list)  # <list_reverseiterator object at 0x0000019DDF01B760>
print(list(new_list))  # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

[2]切片(slice()

my_str = "my name is Xanadu"
slice_str = my_str[slice(5, 10, 2)]
print(slice_str)  # m s
print(my_str[5:10:2])  # m s

[3]计算长度(len()

name = "Xanadu"
print(len(name))  # 6

[4]排序(sorted()

num_list = [11, 2, 33, 4, 55, 6, 77]
#默认是从小到大排序
new_list = sorted(num_list)
print(new_list)  # [2, 4, 6, 11, 33, 55, 77]
#将reverse值设置为True时,就会从大到小排序
new_list_2 = sorted(num_list, reverse=True)
print(new_list_2)  # [77, 55, 33, 11, 6, 4, 2]

[5]枚举(enumerate()

my_list = ["Xanadu", "bridge", "water", 11, 88, 66]
#列表经过枚举后变换成枚举对象
enumerate_list = enumerate(my_list)
print(enumerate_list)  # <enumerate object at 0x0000021B35108E80>

#可以直接使用for循环,解压出索引和元素
for index, item in enumerate_list:
    print(index, item)

'''
0 Xanadu
1 bridge
2 water
3 11
4 88
5 66
'''

六、字符串相关(7个)

[1]格式化输出(format()

name = "Xanadu"
print(format(name, "^10"))  #  Xanadu   在左右添加空格到长度为10为止(居中)
print(format(name, "<10"))  #Xanadu     在右边添加空格到长度为10为止(左对齐)
print(format(name, ">10"))  #    Xanadu 在左边添加空格到长度为10为止(右对齐)


print(format(99, 'b'))  # 二进制:1100011
print(format(99, 'c'))  # 转换成unicode字符:c
print(format(99, 'd'))  # ⼗进制:99
print(format(99, 'o'))  # 八进制:143
print(format(99, 'x'))  # 十六进制:63
print(format(99, 'n'))  # 和d⼀样:99
print(format(99))  # 和d⼀样:99

print(format(9874563210, 'e'))  # 科学计数法. 默认保留6位小数:9.874563e+09
print(format(9874563210, '0.2e'))  # 科学计数法. 保留2位小数(小写):9.87e+09
print(format(9874563210, '0.2E'))  # 科学计数法. 保留2位小数(大写):9.87E+09
print(format(9.87456321, 'f'))  # 小数点计数法. 保留6位小数:9.874563
print(format(9.87456321, '0.2f'))  # 小数点计数法. 保留2位小数:9.87
print(format(9.87456321, '0.10f'))  # 小数点计数法. 保留10位小数:9.8745632100

[2]字符串转 bytes

b_str = bytes('桃源', encoding='utf8')
print(b_str)  # b'\xe6\xa1\x83\xe6\xba\x90'

[3]获取字节数组(bytearray()

res = bytearray('桃源', encoding='utf8')
# 一个英文占一个字节,一个中文占三个字节
print(list(res))  # [230, 161, 131, 230, 186, 144]

[4]返回对象的字符串格式(repr()

my_str = "今天\n吃了%s顿\t饭" % 3
print(my_str)
'''
今天
吃了3顿	饭
'''

# 原样输出,过滤掉转义字符 \n \t \r 不管百分号%
print(repr(my_str))
# '今天\n吃了3顿\t饭'

[5]根据给定的Unicode 字符找数字(ord()

print(ord('Q'))  # 81

[6]根据数字找 Unicode 字符(chr()

print(chr(99))  # c

[7]根据数字找 ASCII字符(ascii()

# 如果返回一个字符串,表示对象的可打印 ASCII 码形式;非 ASCII 字符会用 \x、\u 和 \U 进行转义。
print(ascii("桃源"))  # '\u6843\u6e90'

七、数据集合(1个)

  • 创建一个冻结的集合(frozenset)
  • frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
  • 注释: frozenset() 函数返回一个不可变的 frozenset 对象,适用于作为字典的键或集合的元素。
num_set = {11, 2, 33, 4, 55, 6, 77}
new_set = frozenset(num_set)
print(new_set)  # frozenset({33, 2, 4, 6, 11, 77, 55})

八、判断条件(2个)

# all : 参数是可迭代类型, 参数里面所有为真才为真
if 0 and 'Xanadu' and [1, 2]:
    print(True)
else:
    print(False)
# 结果为False
print(all([0, 'Xanadu', [1, 2]]))  # 结果为False
# any : 参数是可迭代类型 , 参数里面任一为真就为真
print(any([0, 'Xanadu', [1, 2]]))  # 结果为True

九、高阶函数(3个)

[1]zip()函数

lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['雷雨', '麦克白', '伪君子', '女店主', '钦差大臣', '群鬼']
lst3 = ['中国', '英国', '法国', '意大利', '挪威']

print(list(zip(lst1, lst2)))
# [(1, '雷雨'), (2, '麦克白'), (3, '伪君子'), (4, '女店主'), (5, '钦差大臣'), (6, '群鬼')]
# 如果一个列表中的元素相较于另一个列表中的元素少,那就会按照元素少的列表进行打包
lst1 = [1, 2, 3, 4, 5]
print(list(zip(lst1, lst2)))
# [(1, '雷雨'), (2, '麦克白'), (3, '伪君子'), (4, '女店主'), (5, '钦差大臣')]

[2]filter()函数

  • 语法:fiter(用来筛选的函数,可迭代对象)
    • 在filter中会自动的把可迭代对象中的元素传递给函数
    • 然后根据函数返回的True或者False来判断是否保留留此项数据
def func(i):  
    return i > 5


lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]

#  l1是迭代器
l1 = filter(func, lst)
print(l1)  # <filter object at 0x000002031B89ACE0>
print(list(l1))  # [6, 7, 8, 9]

[3]map()函数

  • 语法:map(用来映射的函数,可迭代对象)
    • 可以对可迭代对象中的每一个元素进行映射. 分别去执行函数
def func(i):
    return i * 2


num_list = [1, 2, 3, 4, 5, 6]
print(map(func, num_list))  # <map object at 0x000001ECFB14A680>
print(list(map(func, num_list)))  # [2, 4, 6, 8, 10, 12]
print(list(map(lambda x: x * 2, (1, 2, 3, 4, 5, 6))))  # 还可以使用匿名函数
# [2, 4, 6, 8, 10, 12]

十、作用域(2个)

  • locals() 返回当前作用域中的名字
  • globals() 返回全局作用域中的名字
name = "Xanadu"


def func():
    print("-----------------------------")
    age = 18
    print(f"这是当前作用域中的内容 :>>>> {locals()}")
    print(f"这是全局作用域中的内容 :>>>> {globals()}")
    print("这是在函数内部")
    print("-----------------------------")


func()
print(f"这是全局作用域中的内容 :>>>> {globals()}")
print("这是在函数外部")

'''
-----------------------------
这是当前作用域中的内容 :>>>> {'age': 18}
这是全局作用域中的内容 :>>>> {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001C11CF47C70>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:\\project\\python\\project_study\\re模块.py', '__cached__': None, 're': <module 're' from 'D:\\app\\python\\3.10\\lib\\re.py'>, 'name': 'Xanadu', 'func': <function func at 0x000001C11CFA3EB0>}
这是在函数内部
-----------------------------
这是全局作用域中的内容 :>>>> {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001C11CF47C70>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:\\project\\python\\project_study\\re模块.py', '__cached__': None, 're': <module 're' from 'D:\\app\\python\\3.10\\lib\\re.py'>, 'name': 'Xanadu', 'func': <function func at 0x000001C11CFA3EB0>}
这是在函数外部

'''

十一、迭代器生成器(3个)

[1]循环生成数据(range()

  • range(开头数字,结尾数字),顾头不顾尾
# 生成数据,需要循环取值
range(1, 10)
print([i for i in range(1, 10)])  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

[2]获取迭代器(iter()

  • 获取迭代器, 内部实际使用的是__ iter__()方法来获取迭代器
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
my_iter = iter(my_list)
print(my_iter)  # <list_iterator object at 0x00000233DA70B760>

[3]向下执行(next()

  • 迭代器向下执行一次, 内部实际使用了__ next__()方法返回迭代器的下一个项目
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#先生成迭代器
my_iter = iter(my_list)
# 使用next向下执行
print(next(my_iter))
print(next(my_iter))
print(next(my_iter))
print(next(my_iter))
print(next(my_iter))

'''
1
2
3
4
5
'''

十二、字符串类型代码的执行(3个)

[1]指定指令并返回结果(eval()

  • 只能执行一行的代码,多行或者代码块都不能执行
  • 直接返回内容
eval('print("Hell0 Word!")')
# Hello Word!

[2]指定指令不返回结果(exec()

  • 可以执行多行代码和代码块
  • 没有返回值
exec('''
a = 1
b = 1
c = a + b
print(c)
''')
# 2

[3]编码指令(compile()

  • compile并不会执行你的代码.只是编译
code1 = "for i in range(3): print(i)"
# compile并不会执行你的代码.只是编译
com = compile(code1, "", mode="exec")
# 执行编译的结果 : 可以让 eval 执行,也可以让 exec 执行
eval(com)
exec(com)
# 0
# 1
# 2

十三、输入输出(2个)

  • print() : 打印输出
print("Xanadu", "bridge", sep="|", end="*") 
# sep:打印出的内容用什么连接
# end:以什么为结尾
# Xanadu*bridge@
  • input() : 获取用户输出的内容

十四、哈希

  • 哈希算法又称摘要算法,处理过的字符串具有唯一性。
s = 'Xanadu'
print(hash(s))  # -3597524617337753711

十五、文件、帮助、导入(3个)

# 打开文件语法
f = open(file=...,mode=...,encoding=...)

# 导入模块语法
exec('import os')
os = __import__('os')
print(os.listdir())

# 帮助函数
import os
print(help(os))

十六、调度和查看属性(2个)

# 变量名是否可被调用 : 能 变量名() 就能被调用
a = 10
# 变量a不能被调用

print(callable(a))


# False

def f():
    print("hello")


# 函数是可以被调用的
print(callable(f))
# True


# 查看内置属性或方法 dir

print(dir(list))

标签:__,10,内置,函数,list,num,print,my
From: https://www.cnblogs.com/taoyuanshi/p/17932209.html

相关文章

  • Oracle 中 LISTAGG 函数的介绍以及使用
    LISTAGG函数介绍listagg函数是Oracle11.2推出的新特性。其主要功能类似于wmsys.wm_concat函数,即将数据分组后,把指定列的数据再通过指定符号合并。LISTAGG使用listagg函数有两个参数: 1、要合并的列名 2、自定义连接符号☆LISTAGG函数既是分析函数,也是聚......
  • lightdb/postgresql中plpgsql、函数与操作符、表达式及其内部实现
    PG_PROCPG_OPERATORpg_opclass用于定义索引上的相关操作符,一般来说是同一类数据类型。pg_opfamiliy定义了相互兼容的数据类型的操作符,关系见https://www.postgresql.org/docs/9.1/catalog-pg-opclass.html。pg8.3引入pg_opfamilies,原因:Create "operatorfamilies" toimprove......
  • C++ --- 函数模板
    函数模板C++的一种编程思想称为泛型编程,主要利用的技术就是模板。编写与类型无关的调用代码,是代码复用的一种手段。 模板是泛型编程的基础。C++提供两种模板机制:函数模板和类模板。函数模板:建立一个通用的函数,它用到的参数类型可以不确定,用一个虚拟类型替代。等到函数调用的时......
  • 内置组件-Teleport
    介绍<Teleport>是一个内置组件,它可以将一个组件内部的一部分模板“传送”到该组件的DOM结构外层的位置去。基本用法​有时我们可能会遇到这样的场景:一个组件模板的一部分在逻辑上从属于该组件,但从整个应用视图的角度来看,它在DOM中应该被渲染在整个Vue应用外部的其他地方......
  • 内置组件-Transition
    介绍<Transition>是一个内置组件,这意味着它在任意别的组件中都可以被使用,无需注册。它可以将进入和离开动画应用到通过默认插槽传递给它的元素或组件上。进入或离开可以由以下的条件之一触发:由v-if所触发的切换由v-show所触发的切换由特殊元素切换的动态组件改变特殊......
  • 内置组件-TransitionGroup
    介绍<TransitionGroup>是一个内置组件,用于对v-for列表中的元素或组件的插入、移除和顺序改变添加动画效果。和<Transition>的区别​<TransitionGroup>支持和<Transition>基本相同的props、CSS过渡class和JavaScript钩子监听器,但有以下几点区别:默认情况下,它不......
  • Sass函数与调试----持续更新
    内置函数详情查看菜鸟教程自定义函数自定义函数需要使用@function定义函数,通过@return指令返回数据。例如:@functiondouble($width){@return$width*2;}body{width:double(5px);}调试调试指令可以在编译sass时定义控制台的输出信息,共有三个指定,分别是:@debug......
  • 数仓的常用函数
    数仓的常用函数###当前日期selectcurrent_date()###当前时间selectcurrent_timestamp()###日期增加函数selectdate_add(current_date(),3)fromdws_study.user_video_log_new_dailylimit10###日期减少函数selectdate_sub(current_date(),10)fromdws......
  • 值函数近似
    值函数近似,这是一个很有意思的东西,为后面DQN做铺垫吧,就是说,你想要训练模型,你手上确实有数据,0,1,2,3,4,5。。。。。诸如此类但是,它们就只是一个个的点,它们是离散的,不是连续的,比如说有一个和重要的状态,它是最优的一个点,但它夹在了1和2的中间,然后你也拿不到这个数据,因为你能拿到的就是离散......
  • PGSQL_函数
    逗号分隔字符串,转换成一列--源数据:'c6d4eed5,7e51b2d9,768db3f1,7cc464bb'--函数:regexp_split_to_tableSELECTregexp_split_to_table('c6d4eed5,7e51b2d9,768db3f1,7cc464bb',',')逗号分隔字符串,转换成数组--源数据:'c6d4eed5,7e51b2d9,768db3f1,7cc464bb......