万恶之源 - Python内置函数一

内置函数

什么是内置函数?就是python帮我们提供的一个工具,拿过直接用就行,比如我们的print,input,type,id等等.截止到python3.6.2版本

中一共提供了68个内置函数.他们就是python直接提供给我们的,有一些我们已经用过了.有一些还没有用过.还有一我们需要学完面向对象才能继续学习.今天我们认识一下python的内置函数

作用域相关

  locals()     返回当前作用域中的名字

  globals()   返回全局作用域中的名字

迭代器相关

  range()   生成数据

  next()    迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目

  iter()     获取迭代器,内部实际使用的是__iter__()方法来获取迭代器

字符串类型代码的执行

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

print(eval(‘2+8‘))
结果:
10

n = 8
print(eval(‘n + 10‘))
结果:
18

exec() 执行字符串类型的代码 

exec(‘‘‘
for i in range(10):
    print(i)
‘‘‘)

# 我们按照python能够识别的语法写代码,这次写入的是字符串也可以执行

exec(‘‘‘ 

def func():
    print("444")

func()    

‘‘‘)

结果:
444  

compile()  将字符串类型的代码变异,代码对象能够通过exec语句来执行或者eval()进行求值

‘‘‘
参数说明:

    1.resource  #办法   要执行的代码,动态代码片段
    2.文件名,代码存放的文件名,当传入了第一个参数的时候,这个参数给空就可以了
    3.模式,取值有3个
        1.exec 一般放一些流程语句的时候
        2.eval resource只存放一个求值的表达式
        3.single resource存放的代码有交互的时候.mode应为single
‘‘‘

code = ‘for i in range(10):print(i)‘

c1 = compile(code,‘‘,mode=‘exec‘)
exec(c1)   # 使用exec没有返回值

code1 = ‘1+2+4‘
c2 =compile(code1,‘‘,mode=‘eval‘)

a = eval(c2) # 使用eval有返回值
print(a)

code = ‘s = input("请输入内容");print(s)‘

c1 = compile(code,‘‘,mode=‘single‘)

exec(c1)  #使用exec没有返回值

通过上边的测试发现,只要是exec就没有返回值,eval就是有返回值的,compile不怎么常用  

输入和输出相关

  input()  获取用户输入的内容

  print()  打印 输出

内存相关

  hash()  获取对象的哈希值(int.str,bool,tuple)

  id()      获取到对象的内存地址

文件操作相关

  open()   用于打开一个文件,创建一个文件句柄

模块相关

  __import__()   用于动态加载类和函数

帮助

  help()  函数用于查看函数或模块用途的详细说明

调用相关

  callable()  用于检查一个对象是否是可调用的,如果返回True,object有可能调用失败,要是返回False,那调用绝对就完犊子

查看内存属性

  dir()  查看对象的内置属性,方法,访问的是对象的__dir__()方法

基础数据类型相关

数字相关:  

  bool()  将给定的数据转换成bool值,如果不给值.返回False

  int()    将给定的数据转换成int值,如果不给值,返回0

 float()  将给定的数据转换成float值,也就上次小数

  compilex()  创建一个复数,第一个参数为实部,第二个参数为虚部.或者第一个参数直接用字符串来描述复数

进制转换:

  bin()   将给的参数转换成二进制

  otc()  将给的参数转换成八进制

  hex() 将给的参数转换成十六进制

数字运算:

  abs()   求绝对值

  divmode()  返回商和余数

  round()    四舍五入

  pow(a,b)  求a的b次幂,如果有个三次参数,则求万次幂后对第三方个数取余

  sum()      求和

  min()      求最小值

  max()    求最大值

数据结构相关

列表和元祖

  list()   将一个可迭代对象转换成列表

  tuple()  将一个可迭代对象转换成元祖

  reverse()  将一个序列反转,返回反转序列的迭代器

  slice()    列表的切片

a = ‘大家好我是武松‘
s1 = slice(1,8,2)
print(a[s1])

结果:

家我武

字符串相关:

  str()    将数据转化成字符串

  format()   与具体数相关,用于计算各种小数,精算等

字符串

# 字符串
# print(format(‘meet‘,‘<20‘))   #左对齐
# print(format(‘meet‘,‘>20‘))   #右对齐
# print(format(‘meet‘,‘^20‘))   #居中

结果:
meet
                meet
        meet        

数值

#数值
print(format(3,‘b‘))    # 二进制
print(format(97,‘c‘))   # 转换成unicodezif
print(format(11,‘d‘))   #十进制
print(format(56))       #和d一样
print(format(11,‘n‘))   #十进制
print(format(11,‘o‘))   #八进制

print(format(11,‘x‘))  # 十六进制(小写字母)
print(format(11,‘X‘))  # 十六进制(大写字母)

# 浮点数

print(format(1234567890,‘e‘))  #科学计算法,默认使用6位
print(format(123456789,‘0.2e‘))# 科学计算,保留2位小数(小写)
print(format(123456789,‘0.2E‘))# 科学计算,保留2位小数(大写)
print(format(1.23456789,‘f‘)) #小数点计数法,保留6位小数
print(format(1.23456789,‘0.2f‘)) # 小数点计数法,保留2位数
print(format(1.23456789,‘0.10f‘)) # 小数点计数法,保留2位数
print(format(1.23456789e+1000,‘F‘)) # 小数点计数法

bytes()  把字符串转换成bytes类型

s = ‘你好武大‘

bs = s.encode(‘utf-8‘)
print(bs)

结果:b‘\xe4\xbd\xa0\xe5\xa5\xbd\xe6\xad\xa6\xe5\xa4\xa7‘

s1 = bs.decode(‘utf-8‘)
print(s1)

结果: 你好武大

bs = bytes(s,encoding=‘utf-8‘)
print(bs)

结果: b‘\xe4\xbd\xa0\xe5\xa5\xbd\xe6\xad\xa6\xe5\xa4\xa7‘
把字符串编码成utf-8

bytearray()  返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值的范围是0~256

ret = bytearray(‘meet‘,encoding=‘utf-8‘)
print(ret)
print(ret[0])

结果:
bytearray(b‘meet‘)
109

momoryview()  查看bytes的内存地址

s = memoryview(‘麻花藤‘.encode(‘utf-8‘))
print(s)

# 结果:
# <memory at 0x000001F332E0E288>

ord()  输入字符找带字符编码的位置

print(ord(‘a‘))
print(ord(‘中‘))
print(ord(‘国‘))

结果:
97
20013
22269

对应的是当前编码 

chr()  输入位置数字找出对应的字符

print(chr(97))  # 找到对应位置的字符
print(chr(20013))  # 找到对应位置的字符

# 结果:
a
中

ascii() 是ascii码中的返回值 不是就返回\u

print(ascii(‘a‘))  判断字符串在不在ascii码表中
print(ascii(‘中‘))  

结果:
‘a‘
‘\u4e2d‘     如果不存在就返回\u...

repr() 返回一个对象本质的形式

name = ‘alex‘
print(repr(name))   #返回这个对象本质的表示形式

结果:
‘alex‘

name = ‘我叫%r‘
print(name%‘meet‘)   %r 用的就是repr
结果:
我叫‘meet‘

数据集合

  dict() 创建一个字典

  set() 创建一个集合

  frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作

其他相关

  len()  返回一个对象的元素个数

  enumerate()  获取枚举对象

lst = [‘alex‘,‘wusir‘,‘taibai‘]

for i,k in enumerate(lst):
    print(‘这是序号‘,i)
    print(‘这是元素‘,k)

all()  可迭代对象中全部是True,结果才是True

lst = [1,2,3,4,True,0,False]
lst1 = [1,2,3,4,True]
print(all(lst))

print(all(lst1))

结果:
False
True

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

lst = [1,2,3,4,True,0,False]
lst1 = [1,2,3,4,True]
print(any(lst))

print(any(lst1))

结果:
False
True

zip()  函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,

然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回

lst1 = [1,2,3]
lst2 = [‘a‘,‘b‘,‘c‘,‘d‘]
lst3 = (11,12,13,14,15)

for i in zip(lst1,lst2,lst3):
    print(i)

结果:
(1, ‘a‘, 11)
(2, ‘b‘, 12)
(3, ‘c‘, 13) 

lambda之后讲解

sorted() 对可迭代对象进行排序

filter()  过滤 

map()  会根据提供的函数对指定的序列做映射

参看质料

  https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac  

原文地址:https://www.cnblogs.com/guobaoyuan/p/9860532.html

时间: 2024-10-08 17:13:06

万恶之源 - Python内置函数一的相关文章

python内置函数(上篇)

python内置函数 1.abs() 取绝对值 >>> abs(3) 3 >>> abs(-3) 3 2.all() 全部为真,则结果为真 源码: def all(iterable):              #iterable为可迭代对象,列表,元组,字典 for element in iterable: if not element:         #如果not element为真,可以通过bool()函数判断 return False return True

Python内置函数_数学运算类

本文和大家分享的主要是python内置函数数据运算类相关内容,一起来看看吧,希望对大家学习python 有所帮助. abs abs(x) 求绝对值 · X可以是整型,也可以是复数 · 若X是复数,则返回复数的模 >>> abs(-1)1>>> abs(-3+4j)5.0>>> bin bin(x) 将整数x转换为二进制字符串 >>> bin(2)'0b10'>>> bin(3)'0b11' bool bool([x]

Python内置函数进制转换的用法

使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns a

Python补充--Python内置函数清单

Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数:基本数据类型 type()反过头来看看 dir()   help()    len()词典 len()文本文件的输入输出 open()循环设计 range()   enumerate()    zip()循环对象

python基础9 -----python内置函数

python内置函数1 一.python内所有的内置函数: 二.python内常用的内置函数: 三.python内内置函数详解: 1.数学运算函数: 2.集合类函数: 3.逻辑类函数: 4.映射类函数: 5.IO操作:

Python 内置函数sorted()有哪些高级用法?

本文和大家分享的主要是python内置函数sorted()的相关内容,一起来看看吧,希望对大家学习python http://www.maiziedu.com/land/python/有所帮助. 1.对于 Python 内置函数 sorted() ,先拿来跟list(列表)中的成员函数 list.sort() 进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. 2.主要的区别在于, list.sort() 是对已经存在的列表进行操作,进而可以改变

[python基础知识]python内置函数map/reduce/filter

python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法)来迭代遍历每个序列中的元素. 返回bool_func结果为true的元素的序列(注意弄清楚序列是什么意思)http://blog.csdn.net/bolike/article/details/19997465序列参考</a> 如果filter参数值为None,list参数中所有为假的元 素都将被

lambda 表达式+python内置函数

#函数 def f1(a,b): retrun  a+b #lambda方式,形参(a,b):返回值(a+b) f2=lambda a,b : a+b 在一些比较简单的过程计算就可以用lambda python内置函数 abc 获取绝对值 all 循环对象,都为真就返回真否则为假 >>> li[1, 2, 3]>>> all(li)True #0为假 >>> li=[0,1,2,3]>>> all(li)False bool 真假判断

python内置函数(三)

python内置函数目前需要知道的如下: 代码: #!/usr/bin/env python# -*- coding:utf-8 -*-# author by lh #map(函数,可迭代的对象)def f1(x): return x+100ret=map(f1,[1,2,3,4,5])for i in ret: print iprint '---------------------------------------'#hash转换成哈希值,节约内存dic={ 'dvfhsuicbfhascj