IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python杂记——内置函数(四) -> 正文阅读

[数据结构与算法]python杂记——内置函数(四)

eval

eval(expression[, globals[, locals]])函数用来执行expression并返回结果。expression是一个字符串,globals和locals是可选的。如果给值得话globals必须是一个dict,locals可以是任意形式的map对象。如果locals不设置则默认与globals相同。如果都不设置则使用调用eval的环境。

该函数还可以用于执行任意的code object(例如compile创建的)。如果使用"exec"编译的则结果返回None。compile在内置函数三已经介绍过。

测试代码:

def test_eval():
    cmd = "1 + 2"
    r = eval(cmd)
    print("r: ", r)
    
    x = 4
    cmd1 = "x+3"
    r = eval(cmd1)
    print("r: ", r)
    
    code_str = "3+4"
    code = compile(code_str, "<string>", "single")
    eval(code)
test_eval()

测试结果:

r:  3
r:  7
7

exec

exec(object[, globals[, locals]])函数用来动态执行python代码。object可以是一个string或者一个code object。返回值是None。
python2中有一个execfile的内置函数,exec不是内置函数,在python3中被删除了execfile而把exec变成了内置函数。

测试代码:

def test_exec():
    code_str = "a = 1\r\nb=2\r\nc = a + b\r\nprint('c = ', c)"
    exec(code_str)

    code = compile("", filename="./test_dir.py", mode="exec")
    exec(code)
    
    code_str = "3+4"
    exec(code_str)
test_exec()

测试输出:

c =  3

file

file()函数用于返回一个file对象,但是在python3中被删除了, 可以使用open函数实现。这里不再介绍。

filter

filter(function, iterable)方法用于过滤iterabal指定的可迭代序列,并返回符合function条件的新迭代器对象。iterable可以是一个序列,支持迭代的容器或者一个迭代器对象。如果function为None的话则返回所有值。

测试代码:

def test_filter():
    def my_filter(x):
        return x > 5
    
    nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    new_nums = filter(my_filter, nums)
    print("new nums: ", new_nums)
    for a in new_nums:
        print("new nums: ", a)
    
    new_nums1 = filter(None, nums)
    print("new nums1: ", new_nums1)
    for a in new_nums1:
        print("new nums1: ", a)
test_filter()
new nums:  <filter object at 0x7f97934c6210>
new nums:  6
new nums:  7
new nums:  8
new nums:  9
new nums1:  <filter object at 0x7f97934c62d0>
new nums1:  1
new nums1:  2
new nums1:  3
new nums1:  4
new nums1:  5
new nums1:  6
new nums1:  7
new nums1:  8
new nums1:  9

float

class float([x])将x转换为一个float类型数,x可以是一个string或者一个数字。如果是string则string中必须包含一个十进制数。可以带正负符号和空格。

测试代码:

def test_float():
    num = float(  123  )
    print("num: ", num)
    
    num1 = float("   -321.11   ")
    print("num1: ", num1)
    
    #num2 = float("123aa") # error:ValueError: could not convert string to float: '123aa'
    #print("num2: ", num2)
    
    num3 = float("inf")
    print("num3: ", num3)
    
    num4 = float('1e-003')
    print("num4: ", num4)
test_float()

测试结果:

num:  123.0
num1:  -321.11
num3:  inf
num4:  0.001

format

format(value[, format_spec])函数用来格式话字符串,format可以接受不限个数的参数,参数顺序可以不按照顺序。

测试代码:

def test_format():
    output = format("test; %s ;test" % "hello world")
    print("output: ", output)
    
    output1 = "test; {} {} ;test".format("hello", "world")
    print("output1: ", output1)
    
    output2 = "test: {1} {0} {1}".format("hello", "world")
    print("output2: ", output2)
    
    output3 = "test: {first} {second} {first}".format(second="hello", first="world")
    print("output3: ", output3)
    
    test_cls = TestClass()
    output4 = "test; {0.num} ;test".format(test_cls)
    print("output4: ", output4)

    num_str = "{:.2f}".format(3.1415926)
    print("num_str: ", num_str)
    
test_format()

测试结果:

output:  test; hello world ;test
output1:  test; hello world ;test
output2:  test: world hello world
output3:  test: world hello world
output4:  test; 6 ;test
num_str:  3.14

frozenset

class frozenset([iterable]) 创建一个不可变的集合对象。可选参数是一个可迭代的对象。

测试代码:

def  test_frozenset():
    out1 = frozenset(range(10))
    print("out1: ", out1)
    out2 = frozenset([1, 2, 3, 4, 5, 6, 7])
    print("out2: ", out2)
    out3 = frozenset({0: "zero", 1: "one", 2: "two"})
    print("out3: ", out3)
    out4 = frozenset()
    print("out4: ", out4)

测试结果:

out1:  frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
out2:  frozenset({1, 2, 3, 4, 5, 6, 7})
out3:  frozenset({0, 1, 2})
out4:  frozenset()

hash

hash(object) 用于获取取一个对象(字符串或者数值等)的哈希值。哈希值是一个整数。可用于在查找字典键值时快速比较。相等的数值得到的哈希值也相同,即使类别不同,例如1和1.0。请注意 hash() 会根据主机的位宽截断返回值。

测试代码:

def test_hash():
    print("hash of 100", hash(100))
    print("hash of 100.0", hash(100.0))
    print("hash of abcdef", hash("abcdef"))
    print("hash of ;;;;;", hash(";;;;;"))
test_hash()

测试结果:

hash of 100 100
hash of 100.0 100
hash of abcdef -3611082344017052973
hash of ;;;;; -1646571678035759429

help

help([object])用于查看函数或模块的说明。

测试代码:

def test_help():
    help(sys)
    help(help)

测试结果:

hex

hex(x)将一个整数转换为十六进制,以0x开头。

测试代码:

def test_hex():
    print("hex of 255:", hex(255))
    print("hex of -132:", hex(-132))
    print("hex of 0:", hex(0))
test_hex()

测试结果:

hex of 255: 0xff
hex of -132: -0x84
hex of 0: 0x0
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:22:01  更:2022-03-06 13:23:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:44:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码