函数和常用模块【day04】:内置函数(九)
一、11-20
11、ord(c)
功能:根据字符,找到对应的ascii值
1
2
|
>>> ord ( 'a' ) 97 |
12、classmethod(function)
功能:类方法,这个到后续谈到类的时候再说。
13、compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
功能:用于把代码编译的一个过程,这个基本用不到
1
2
3
4
|
>>> code = """1+3/2*6""" >>> py_object = compile (code,' ',' eval ') #把代码转换为字符串 >>> eval (py_object) #执行 10.0 |
14、complex([real[, imag]])
功能:返回一个复数,我们几乎用不到。
1
2
|
>>> complex ( '1+2j' ) ( 1 + 2j ) |
15、delattr(object, name)
功能:类那边使用的,先不care。
16、dict(**kwarg)、dict(mapping, **kwarg)、dict(iterable, **kwarg)
功能:返回一个字典
1
2
3
4
5
6
7
8
|
>>> dict () #定义一个字典 {} >>> dict (name = 'zhangqigao' ,age = 18 ) #传入非固定关键字参数 { 'name' : 'zhangqigao' , 'age' : 18 } >>> dict ([( 'name' , 'zhangqigao' ),( 'age' , 18 )]) #传入一个列表 { 'name' : 'zhangqigao' , 'age' : 18 } >>> dict ([[ 'name' , 'zhangqigao' ],[ 'age' , 18 ]]) #传入一个列表 { 'name' : 'zhangqigao' , 'age' : 18 } |
17、dir([object])
功能:看一个对象有哪些方法
1
2
3
4
5
6
7
8
|
>>> name = [] >>> dir (name) #显示name下的所有的方法 [ '__add__' , '__class__' , '__contains__' , '__delattr__' , '__delitem__' , '__dir__' , '__doc__' , '__eq__' , '__format__' , '__ge__' , '__getattribute__' , '__getitem__' , '__gt__' , '__hash__' , '__iadd__' , '__imul__' , '__init__' , '__iter__' , '__le__' , '__len__' , '__lt__' , '__mul__' , '__ne__' , '__new__' , '__reduce__' , '__reduce_ex__' , '__repr__' , '__reversed__' , '__rmul__' , '__setattr__' , '__setitem__' , '__sizeof__' , '__str__' , '__subclasshook__' , 'append' , 'clear' , 'copy' , 'count' , 'extend' , 'index' , 'insert' , 'pop' , 'remove' , 'reverse' , 'sort' ] |
18、divmod(a,b)
功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。
1
2
|
>>> divmod ( 5 , 2 ) ( 2 , 1 ) #2是商,1是余数 |
19、enumerate(iterable,start=0)
功能:获取一个列表,列表中的每个元素都是一个元组,元组的第一个数是iterable的索引,第二个数是iterable的元素。
1
2
3
4
5
|
>>> seasons = [ 'Spring' , 'Summer' , 'Fall' , 'Winter' ] >>> list ( enumerate (seasons)) [( 0 , 'Spring' ), ( 1 , 'Summer' ), ( 2 , 'Fall' ), ( 3 , 'Winter' )] >>> list ( enumerate (seasons, start = 1 )) [( 1 , 'Spring' ), ( 2 , 'Summer' ), ( 3 , 'Fall' ), ( 4 , 'Winter' )] |
20、eval(expression, globals=None, locals=None)
功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。
1
2
3
4
|
>>> eval ( '1' ) #字符类型转换成int类型 1 >>> eval ( "1+3/2*6" ) #字符串转换为表达式 10.0 |
二、21-25
21、exec(object[, globals[, locals]])
功能:有语句的和复杂的语句的字符串转换成表达式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
code = ''' def timmer(func): #timmer(test1) func=test1 def deco(*args,**kwargs): res = func(*args,**kwargs) #run test1() return res return deco @timmer def test1(): print("in the test1") return "from the test1" res = test1() print(res) ''' exec (code) #输出 in the test1 from the test1 |
22、filter(function, iterable)
功能:对于序列中的元素进行筛选,最终获取符合条件的序列
def f1(args):
result = []
for item in args:
if item > 22:
result.append(item)
return result li = [11, 22, 33, 44, 55]
ret = f1(li)
print(ret) filter(函数,可迭代的对象)
def f2(a):
if a>22:
return True
li = [11, 22, 33, 44, 55]
filter内部,循环第二个参数
result = []
for item in 第二个参数:
r = 第一个参数(item)
if r :
result(item)
return result
filter ,循环循环第二个参数,让每个循环元素执行 函数,如果函数返回值True,表示元素合法
ret = filter(f2, li)
print(list(ret)) filter,内部循环,参数比较 自动return
f1 = lambda a: a > 30 ret = f1(10)
print(ret) li = [11, 22, 33, 44, 55]
result = filter(lambda a: a > 33, li)
print(list(result))
23、map(function, iterable)
功能:遍历序列,对序列中每个元素进行操作,最终获取新的序列。
i = [11, 22, 33, 44, 55] map(函数,可迭代的对象(可以for循环的东西))
def f2(a):
return a + 100 result = map(f2, li)
result = map(lambda a: a + 200, li)
print(list(result)) filter # 函数返回True,将元素添加到结果中
map # 将函数返回值添加到结果中 def f1(args):
result = []
for i in args:
result.append(100+i) return result
r = f1(li)
print(list(r))
24、reduce(function,iterable)
功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。
1
2
3
4
5
6
7
|
>>> from functools import reduce >>> res = reduce ( lambda x,y:x + y, range ( 10 )) #x+y的值赋给x,rang(10)中的每个元素赋给y >>> res 45 >>> res = reduce ( lambda x,y:x * y, range ( 1 , 10 )) #x*y的值赋给x,rang(10)中的每个元素赋给y >>> res 362880 |
25、float([x])
功能:把一个浮点类型的字符串转换为浮点类型的数据。
1
2
3
4
5
6
7
8
9
10
|
>>> float ( '+1.23' ) 1.23 >>> float ( ' -12345\n' ) - 12345.0 >>> float ( '1e-003' ) 0.001 >>> float ( '+1E6' ) 1000000.0 >>> float ( '-Infinity' ) - inf |
三、26-35
26、format(value[, format_spec])
功能:格式话字符串,详细使用:
27、frozenset([iterable])
功能:把集合变成一个不可变的集合
1
2
3
4
5
6
7
8
9
10
|
>>> res = frozenset ([ 1 , 2 , 3 , 4 , 3 ]) >>> res frozenset ({ 1 , 2 , 3 , 4 }) #去重的,不可变的集合 >>> dir (res) #没有可变的方法 [ '__and__' , '__class__' , '__contains__' , '__delattr__' , '__dir__' , '__doc__' , '__eq__' , '__format__' , '__ge__' , '__getattribute__' , '__gt__' , '__hash__' , '__init__' , '__iter__' , '__le__' , '__len__' , '__lt__' , '__ne__' , '__new__' , '__or__' , '__rand__' , '__reduce__' , '__reduce_ex__' , '__repr__' , '__ror__' , '__rsub__' , '__rxor__' , '__setattr__' , '__sizeof__' , '__str__' , '__sub__' , '__subclasshook__' , '__xor__' , 'copy' , 'difference' , 'intersection' , 'isdisjoint' , 'issubset' , 'issuperset' , 'symmetric_difference' , 'union' ] |
注:set()是可变的
28、getattr(object, name[, default])
功能:这边是类那边的,后续再讲。
29、globals()
功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value
1
2
3
4
5
6
7
|
print ( globals ()) #输出 { '__spec__' : None , '__name__' : '__main__' , '__file__' : 'D: / PycharmProjects / pyhomework / day4 / 内置函数 / 内置函数.py ', ' __doc__ ': None, ' __package__ ': None, ' __loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000000695B00 >, '__cached__' : None , '__builtins__' : <module 'built |
注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量
30、hash(object)
功能:反射出一个对象的对应的hash值。
1
2
3
4
5
6
|
>>> hash ( 'zhangqigao' ) 2313972277536963491 >>> hash ( 255 ) 255 >>> hash ( 'a' ) 6806508886604307842 |
这个有什么用呐?
先看下面的图:
看上面的图我们知道,如果一张表中5百万个用户信息,以我们现在的知识,只能用for循环去查找,那样的话,效率会很低。那我们怎么办呢?我们可以这样,就是把每一个姓名对应有一对应的值,然后通过对应的key值去定位,key值是放在一个列表中,当我们去查找某个key值时,可以折半查找,这样大大减少了查找时间,提高效率,这种也叫二分法查找,后面会有对应的博客专门写这一块的。
内置函数三
31、help([object])
功能:显示对象的帮助信息
1
2
3
4
5
6
7
8
9
10
11
|
>>> res = [] #定义一个列表 >>> help (res) #打印帮助信息 Help on list object : class list ( object ) | list () - > new empty list | list (iterable) - > new list initialized from iterable's items | | Methods defined here: | ..... |
32、hex(x)
功能:把一个数字转成16进制
1
2
3
4
|
>>> hex ( 255 ) '0xff' >>> hex ( 10 ) '0xa' |
33、id(object)
功能:返回对象的内存地址
1
2
|
>>> id ( 'zhangqigao' ) 50993136 #'zhangqigao'这个字符串的内存地址 |
34、input([prompt])
功能:输入字符串
1
2
3
4
|
>>> s = input ( '--> ' ) - - > Monty Python's Flying Circus #输入的内容 >>> s "Monty Python's Flying Circus" |
35、int(x)
功能:把其他数据类型强制转换成int类型
1
2
|
>>> int ( '10' ) 10 |
函数和常用模块【day04】:内置函数(九)的更多相关文章
- 人生苦短之我用Python篇(深浅拷贝、常用模块、内置函数)
深浅拷贝 有时候,尤其是当你在处理可变对象时,你可能想要复制一个对象,然后对其做出一些改变而不希望影响原来的对象.这就是Python的copy所发挥作用的地方. 定义了当对你的类的实例调用copy.c ...
- 学习Python函数笔记之二(内置函数)
---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...
- Python函数04/生成器/推导式/内置函数
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...
- Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录
上节课复习:1.函数的对象 函数可以被当作数据取处理2.函数嵌套 嵌套调用:在调用一个函数时,函数体代码又调用了其他函数 嵌套定义:在一个函数内部又定义了另一个函数 def foo( ...
- python基础编程: 函数示例、装饰器、模块、内置函数
目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- python函数(6):内置函数和匿名函数
我们学了这么多关于函数的知识基本都是自己定义自己使用,那么我们之前用的一些函数并不是我们自己定义的比如说print(),len(),type()等等,它们是哪来的呢? 一.内置函数 由python内部 ...
- python---基础知识回顾(一)(引用计数,深浅拷贝,列表推导式,lambda表达式,命名空间,函数参数逆收集,内置函数,hasattr...)
一:列表和元组(引用计数了解,深浅拷贝了解) 序列:序列是一种数据结构,对其中的元素按顺序进行了编号(从0开始).典型的序列包括了列表,字符串,和元组 列表是可变的(可以进行修改),而元组和字符串是不 ...
- Day3 - Python基础3 函数基本、递归函数、内置函数
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 2.2. 函数变量作用域 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 1. 函数基本语法及 ...
- Python函数篇(3)-内置函数、文件处理
1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...
随机推荐
- CSS字体大小之em,px,百分比
首先要记住网页中常规字体的大小为16px. px是用来设置字体的绝对大小.通常为用于物理值的设置.我们在互联网上看到的常规字体大小为16px.而em是指相对于父元素的大小.1em是父元素的1倍,2em ...
- 简话h5唤起本地app
在没接触这个功能之前,查询各种文档后也只是似懂非懂,做过之后,发现其实很简单,简言之就是通过一个iframe或者a标签来跳转app端提供的URL schema(至于这个URL schema的组成格式, ...
- Bootstrap Validator使用特性,动态(Dynamic)添加的input的验证问题
http://1000hz.github.io/bootstrap-validator/#validator-usage Validated fields By default, the valida ...
- 学习 已经登录windows的情况下获取windows的密码
官网 http://blog.gentilkiwi.com/mimikatz 下载地点 https://github.com/gentilkiwi/mimikatz/releases/latest 使 ...
- 关于flask自带web应用服务器Werkzeug 使用requests请求时出现的错误。
先说明一下当时的情况,下午遇到一个需求需要先从jd那边拿到图片然后上传到本地的cdn服务器来获取对应的ident 和地址. 于是就需要首先拿到京东的图片url,然后按照图片url去请求图片到内存然后再 ...
- Java代码redis基础操作
maven依赖包: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- 聊聊我怎么系统学习Linux技能并快速提高的
随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能.而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱好者们的喜爱.今天我们就来和大家一起聊一聊Linux操作系 ...
- CenOS_6.6_简单搭建vsFTP
0. 关闭selinux 永久性关闭(这样需要重启服务器后生效) sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ...
- Uva10474-STL水题-白书
白书的一道水题.话说好久没认真做难题了.今天出了排名,所有队伍里倒数第一啊! 代码没什么可说的了. #include <algorithm> #include <cstring> ...
- html5 viewport使用
用html5开发移动应用时往往会遇到手机的分辨率或屏幕大小不同的问题,如何使我们开发出来的应用或页面大小能适合各种手机呢?html5中的viewport能帮你做到. viewport 语法介绍: &l ...