4.7 内置函数

4.7.1 内置函数(1)

eval

执行字符串类型的代码,并返回最终结果。

eval('2 + 2')  # 4
n=81
eval("n + 4") # 85
eval('print(666)') # 666
exec

执行字符串类型的代码。

s = '''
for i in [1,2,3]:
print(i)
'''
exec(s)
hash

获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。

print(hash(12322))
print(hash('123'))
print(hash('arg'))
print(hash('alex'))
print(hash(True))
print(hash(False))
print(hash((1,2,3))) '''
-2996001552409009098
-4637515981888139739
1
252850297397326415
'''
help

函数用于查看函数或模块用途的详细说明。

print(help(list))
print(help(str.split))
callable

函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

name = 'alex'
def func():
pass
print(callable(name)) # False
print(callable(func)) # True
int

函数用于将一个字符串或数字转换为整型。

print(int())  # 0
print(int('12')) # 12
print(int(3.6)) # 3
print(int('0100',base=2)) # 将2进制的 0100 转化成十进制。结果为 4
float

函数用于将整数和字符串转换成浮点数。

complex

函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。

print(float(3))  # 3.0
print(complex(1,2)) # (1+2j)
bin

将十进制转换成二进制并返回。

oct

将十进制转化成八进制字符串并返回。

hex

将十进制转化成十六进制字符串并返回。

print(bin(10),type(bin(10)))  # 0b1010 <class 'str'>
print(oct(10),type(oct(10))) # 0o12 <class 'str'>
print(hex(10),type(hex(10))) # 0xa <class 'str'>
divmod

计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。

round

保留浮点数的小数位数,默认保留整数。

pow

求x**y次幂。(三个参数为x**y的结果对z取余)

print(divmod(7,2))  # (3, 1)
print(round(7/3,2)) # 2.33
print(round(7/3)) # 2
print(round(3.32567,3)) # 3.326
print(pow(2,3)) # 两个参数为2**3次幂
print(pow(2,3,3)) # 三个参数为2**3次幂,对3取余。
bytes

用于不同编码之间的转化。

# s = '你好'
# bs = s.encode('utf-8')
# print(bs)
# s1 = bs.decode('utf-8')
# print(s1)
# bs = bytes(s,encoding='utf-8')
# print(bs)
# b = '你好'.encode('gbk')
# b1 = b.decode('gbk')
# print(b1.encode('utf-8'))
ord

输入字符找该字符编码的位置

chr

输入位置数字找出其对应的字符

ord 输入字符找该字符编码的位置
print(ord('a'))
print(ord('中')) chr 输入位置数字找出其对应的字符
print(chr(97))
print(chr(20013))
repr

返回一个对象的string形式(原形毕露)

# %r  原封不动的写出来
name = 'taibai'
print('我叫%r'%name)
# repr 原形毕露
print(repr('{"name":"alex"}'))
print('{"name":"alex"}')
all

可迭代对象中,全都是True才是True

any

可迭代对象中,有一个True 就是True

# all  可迭代对象中,全都是True才是True
# any 可迭代对象中,有一个True 就是True
# print(all([1,2,True,0]))
# print(any([1,'',0]))

4.7.2匿名函数lambda

匿名函数:没有名字的函数-----但是要把它的地址交给一个变量才能执行

匿名函数只能构建简单的函数,一句话函数

#构建一个x+y的函数
#普通方法
def func(x,y):
return x + y
print(func(1, 2))
# 匿名函数构建
func2 = lambda x,y: x + y
print(func2(1, 2))

匿名函数最常用的就是与内置函数结合使用。

# 写匿名函数:接收一个可切片的数据,返回索引为 0与2的对应的元素(元组形式)。
func = lambda x: (x[0],x[2])
print(func('德玛西亚')) # 写匿名函数:接收两个int参数,将较大的数据返回。
func1 = lambda x, y: x if x > y else y
print(func1(100,2)) # func2 = lambda : 3
# print(func2())

练习

# 写匿名函数:接收一个可切片的数据,返回索引为0与2的对应的元素(元组形式)。
func = lambda s : (s[0],s[2])
print(func((1,2,3,4)))
print(func('asdfg')) # 写匿名函数:接收两个int参数,将较大的数据返回。
func2 = lambda a,b : a if a>b else b
print(func2(234,123))
print(func2(234,723))
func3 = lambda a,b : max(a,b)
print(func3(123,234))

python学习之内置函数(一)的更多相关文章

  1. python学习之内置函数(二)

    4.7.3 内置函数(2) int() str() bool() set() list():将一个可迭代对象转化为列表 tuple():将一个可迭代对象转换成元组 dic(): 通过相应的方式创建字典 ...

  2. Python基础之内置函数(二)

    先上一张图,python中内置函数: python官方解释在这:点我点我 继续聊内置函数: callable(object):检查对象是否可被调用,或是否可执行,结果为bool值 def f1(): ...

  3. python基础之内置函数

    该博客内容参考http://www.cnblogs.com/wupeiqi/articles/4943406.html 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经 ...

  4. python基础之内置函数和匿名函数

      内置函数 学习函数以后多了很多概念,例如函数的命名空间,函数的作用域,函数的调用等等,函数的作用就是为了实现某些功能而方便以后可以调用,内置函数就是这样的一些公共的函数,被称为内置函数. 我们就一 ...

  5. Python基础之内置函数和递归

    一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回 True 3.any() 如果 iterable 的 ...

  6. Python学习——内置函数

    内置函数: 1.abs():获取绝对值 >>> abs(-10) 10 >>> a= -10 >>> a.__abs__() 10 2.all() ...

  7. python进阶之内置函数和语法糖触发魔法方法

    前言 前面已经总结了关键字.运算符与魔法方法的对应关系,下面总结python内置函数对应的魔法方法. 魔法方法 数学计算 abs(args):返回绝对值,调用__abs__; round(args): ...

  8. Python学习---内置函数的学习

    内置函数 [Py3.5官方文档]https://docs.python.org/3.5/library/functions.html#abs Built-in Functions abs() dict ...

  9. python基础之内置函数补充、匿名函数、递归函数

    内置函数补充 python divmod()函数:把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b) 语法: 1 divmod(a, b) #a.b为数字,a为除数 ...

随机推荐

  1. 多线程-生产者消费者(lock同步)

    二.采用Lock锁以及await和signal方法是实现 import java.io.IOException; import java.util.concurrent.locks.Condition ...

  2. Elasticsearch在Centos 7上的安装与配置

    https://segmentfault.com/a/1190000011899522 https://blog.csdn.net/xxxxxx91116/article/details/171362 ...

  3. MyEclipse开发秘籍——使用DevStyle Icon Designer(一)

    [MyEclipse CI 2019.4.0安装包下载] DevStyle主题包括一个Icon Designer,允许您自定义图标.Icon Designer包含在DevStyle主题中,可作为Ecl ...

  4. Django 文件配置、pycharm及django连接数据库、表的增删改查 总结

    静态文件配置 1.你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的 2.django如何给用户开设资源接口呢? ...

  5. 18-Node.js学习笔记-Express-请求处理-构建模块化路由

    构建模块化路由 const express = require('express') //创建路由对象 const home = express.Router(); //将路由和请求路径进行匹配 ap ...

  6. jquery preventDefault()方法 语法

    jquery preventDefault()方法 语法 作用:preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交).大理石平台价格 语法:event ...

  7. 暑假集训 #2 div1 I - Lada Priora 精度处理

    I - Lada Priora Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  8. Tomcat 激活spring profile

    springboot打包war部署到外部tomcat的时候指定profile启动 windows 在%tomcat%/bin下创建setenv.bat文件 linux 在%tomcat%/bin下创建 ...

  9. USACO2018DEC PLATINUM

    就按(博主认为的)难度顺序排吧. Sort It Out 分析 容易发现选出的集合一定是所有逆序对的一个最小覆盖集,那么剩下的就一定是一个LIS.仔细想想还可以发现字典序第\(k\)小的最小覆盖集的补 ...

  10. 为什么要使用 Go 语言,Go 语言的优势在哪里?

    1.Go有什么优势 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了. 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的 ...