14 内置函数

主要内容:

内置函数:就是python给你提供,拿来直接使用的函数.

1. 作用域相关:

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

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

def fn():
    a = 10
    print(locals())       #当前作用域中的内容,如果在全局作用域中,则显示全局作用域的内容.
    print(globals())      #全局作用域中的内容
    print("今天内容很简单")
fn()

2. 迭代器相关:

  range()    生成数据

for i in range(20,15,-3):
    print(i)

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

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

lst = [‘高圆圆‘,‘马伊琍‘,‘袁泉‘,‘林依晨‘]
it = lst.__iter__()         #it = iter(lst) 取迭代器
print(it.__next__())        #从迭代器中取值    和next(it)效果一样
print(next(it))

3. 字符串类型代码的执行

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

s = ‘24*5‘
a = eval(s)       #eval(obj)  obj必须为a string, bytes or code object
print(a)          #结果120

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

s = "for i in range(10): print(i)"
a = exec(s) # exec 执行代码不返回任何内容
print(a)
# 动态执行代码
exec("""
def func():
    print(" 我是周杰伦")
func()
""" )

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

    参数说明:1,resource  ,要执行的代码,动态代码片段.

         2,文件名:代码存放的文件名,当传入第一个参数的时候,这个参数给空就可以了.

         3,模式:取值有三个:

           exec:     一般放一些流程语句的时候

code1 = ‘for i in range(10):print(i)‘
com = compile(code1,‘‘,mode=‘exec‘)      #compile并不会执行你的代码,只是编译
exec(com)   #执行编译的结果

           eval:      resource只存放一个求值表达式的时候

code2 = ‘3+4+5‘
com = compile(code2,‘‘,mode=‘eval‘)
print(eval(com))

           single:   resource存放的代码有交互的时候,mode应为single

code3 = ‘name = input("请输入名字")‘
com = compile(code3,‘‘,mode=‘single‘)       #用single说明resource中用了交互.
exec(com)                                    #执行代码.
print(name)

    注意:有返回值的字符串形式的代码用eval(),没有返回值字符串形式的代码用exec(),一般很少用到compile()

4. 输入和输出相关的函数

  input(): 获取用户输入得内容

  print(): 打印输出

print(‘李嘉诚‘,‘黄花菜‘,‘马云‘,sep=‘*‘,end=‘taiyang‘)   #seperator:分隔符(分离器,净油机)
# 结果是:李嘉诚*黄花菜*马云taiyang

5. 内存相关:

  hash():   获取到对象的哈希值(int bool str tuple)

  哈希算法:目的具有唯一性,dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存

s = ‘林依晨‘
a = 12
lst = [1,2,3,4,5,7]
print(hash(s))      #结果3588732593406966857
print(hash(a))      #结果12,int型的哈希值就是本身
print(hash(lst))     #列表是不可哈希的

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

s = ‘美好的一天‘
print(id(s))           #结果1337093092208
#除了特殊的字符,字符串获取的地址是一样的。int 和 bool是一样的地址
s = ‘美好的一天‘
s1 = ‘美好的一天‘
print(id(s))           #结果133709309220
print(id(s1))          #结果133709309220

6. 文件操作相关;

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

7. 模块相关:

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

8. 帮助

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

9. 调用相关:

  callable() 用于检查一个对象是否可调用的,如果返回ture,object有可能调用失败,但如果返回false,那绝对不会调用成功.

a = 10
print(callable(a))        #不可以被调用,返回false
def func():
    print(‘mam‘)
print(callable(func))       #函数是可以被调用的,返回ture

10. 查看内置属性:

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

li = [‘tiantina‘,‘poppy‘,‘enheng‘,‘jasper‘]
print(li.__dir__())

11. 基础数据类型相关:

  数字相关:

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

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

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

    complex()创建一个复数,第一个参数是实部,二个参数是虚部

  进制转换:

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

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

    hex():将给定的参数转换成16进制.

print(bin(10))   #结果是0b1010
print(oct(20))   #结果是0o24
print(hex(12))   #结果是0xc

  数字运算:

    abs(): 返回绝对值

    divmode():返回商和余数

    round():四舍五入

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

    sum():求和

    min():最小值

    max():最大值  

12. 和数据结构相关:

  列表和元祖:

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

lst = ‘你好啊‘
it = list(lst)    #将一个可迭代对象转换成列表
print(it)

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

    reversed():将一个序列翻转,返回翻转序列的迭代器

lst = ‘你好啊‘
it = reversed(lst)   #不会改变原列表,返回一个迭代器,设计上的一个原则
print(list(it))

    slice():列表的切片

lst = [1,2,3,4,5,6,7]
s = slice(1,3,1)     #切片用的
print(lst[s])

  字符串相关:

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

    format():与具体的数据相关,用于计算各种小数 

s = "我叫王尼玛"
print(format(s, "^20"))     #居中
print(format(s, "<20"))     #左对齐
print(format(s, ">20"))     #右对齐

        进制之间的转换:

print(format(3, ‘b‘ ))   # ?进制
print(format(97, ‘c‘ ))   # 转换成unicode字符
print(format(11, ‘d‘ ))   # ?进制 %d
print(format(11, ‘o‘ ))   # ?进制  8
print(format(11, ‘x‘ ))   # ?六进制(?写字?)
print(format(11, ‘X‘ ))   # ?六进制(?写字?)
print(format(11, ‘n‘ ))   # 和d?样
print(format(11))   # 和d?样

        科学计算法:

print(format(123456789, ‘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‘))   # 小数点计数法. 保留10位小数
print(format(1.23456789e+3, ‘F‘))   # 小数点计数法. 很大的时候输出 INF

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

s = ‘你好‘
bs = s.encode("utf-8")
print(bs)
bss= bs.decode(‘utf-8‘)
print(bss)
bs = bytes(s,encoding=‘utf-8‘)        #把字符串编码成utf-8
print(bs)

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

ret =  bytearray("alex" ,encoding =‘utf-8‘)
print(ret[0])           #结果是97
print(ret)              #结果是bytearray(b‘alex‘)

  

ret = bytearray(‘alex‘,encoding=‘utf-8‘)
print(ret[0])                  #97
ret[0] = 65
print(str(ret))                #bytearray(b‘Alex‘)

  memoryview() 查看bytes在内存中的情况

s = memoryview(‘马化腾‘.encode(‘utf-8‘))
print(s)                #结果是<memory at 0x000001269C0DE048>

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

print(ord(‘a‘)) # 97, 返回字母a在编码表中的码位
print(ord(‘中‘)) # 20013 中国的中字在编码表中的位置

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

print(chr(65)) # 已知码位. 计算字符
print(chr(20018))

  ascii():是ascii码中的返回该值,不是就返回/u

print(ascii(‘中‘))      #‘\u4e2d‘
print(ascii(‘a‘))       #‘a‘

  repr():返回一个对象的string形式:

    repr():就是原封不动的输出,引号和转义字符都不起作用

print(repr(‘大家好,\t \n我叫住结论‘))#‘大家好,\t \n我叫住结论‘
print(‘大家哈,我是周杰伦‘)# 大家哈,我是周杰伦

    %s 原封不动的写出来

name = ‘taibai‘
print(‘我叫%s‘ % name)        #我叫taibai

  数据相关:

    dict():创建一个字典

    set():创建一个集合

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

13. 其他相关:

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

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

  enumerated():获取结合的枚举对象.

lst= [‘alex‘,‘wusir‘,‘taiai‘]
for index, el in enumerate(lst):
    print(str(index)+el)

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

  any():可迭代对象中有一个是ture,结果就是ture

print(all([1,2,True,0]))   #false
print(any([1,2,True,0]))   #ture

  zip():函数用于将可迭代的对象作为参数,将对像中对应的元素打包成一个个元祖,然后返回有这些元祖组成的开了表,如果各个迭代器的元素个数不一致则返回的列表长度与最短的相同.

lst = [1,2,3]
l2 = [‘a‘,‘b‘,‘c‘,5]
l3 = [‘*‘,‘**‘,(1,2,3)]
for i in zip(lst,l2,l3):
    print(i)
‘‘‘
(1, ‘a‘, ‘*‘)
(2, ‘b‘, ‘**‘)
(3, ‘c‘, (1, 2, 3))

  

 

 

  

  

原文地址:https://www.cnblogs.com/gyh412724/p/9338645.html

时间: 2024-08-30 07:29:32

14 内置函数的相关文章

14 内置函数(一)

13. 前 方 高能-内置函数 一 一. 本节主要内容: 1.  内置函数 什什么是内置函数? 就是python给你提供的. 拿来直接 用的函数, 比如print., input等等. 截 止到python版本3.6.2 python 一共提供了了68个内置函数. 他们就是python直接提供给我们的. 有 一些我们已经 用过了了. 有 一些还没有 用过. 还有 一些需要学完了了 面向对象才能继续学习的. 今天我们就认识 一下python的内置函数. abs() dict() help() mi

万物之源泉14 内置函数二

一. lamda匿名函数 为了解决一些简单的需求而设计的一句话函数# 计算n的n次方 #先用之前的函数办法 def func(n): return n**2 print(func(9)) #用lambda方法: a = lambda n : n*n print(a(9)) lambda表示的是匿名函数 不需要用def声明 语法: 函数名 = lambda 参数 : 返回值 而匿名函数返回的是lambda,所有函数都叫lambda 注意: 1.函数可以参数可以有多个,多个参数用逗号隔开 2.匿名函

14 内置函数 递归 二分法查找

今日主要内容 1. 昨日补充 repr() 显示出字符串的官方表示形式 chr() ord() 2. 递归 自己调用自己 递归的入口(参数) 和 出口(return) 树形结构的遍历 3. 二分法 掐头结尾取中间 查找效率非常的高 1.递归2.二分法查找 原文地址:https://www.cnblogs.com/work14/p/10209198.html

14、内置函数、递归函数、匿名函数

一.内置函数 # print(abs(-1))# print(all([1,2,3]))# print(all([0,2,3])) # print(all('')) # print(any([0,None,'',1]))# print(any([0,None,'']))# print(any([])) # print(bin(3))# print(hex(17))# print(oct(9)) #0 None 空===>bool值为False,其余都为True # def func():# pa

14,内置函数,和匿名函数

作用域相关: locals :函数会以字典的类型返回当前位置的全部局部变量. globals:函数以字典的类型返回全部全局变量 a = 1 b = 2 print(locals()) print(globals()) # 这两个一样,因为是在全局执行的. #########################################华丽分割线 def func(argv): c = 2 print(locals()) print(globals()) func(3) #这两个不一样,loca

14 python初学(高阶函数 递归函数 内置函数)

高阶函数:1.  函数名是一个变量,函数名可以进行赋值 2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址:print 这个返回值的调用相当于执行这个函数. 函数调用作为函数返回值相当于返回这个函数的执行结果) def f(n): return n*n def foo(a, b, func): return func(a)+func(b) print(foo(1, 2, f)) # >>> 5 递归函数: 调用自身函数 设置结束条件 每次进入

Python中内置函数的介绍

内置函数的功能介绍 常用内置函数如下: 1.abs() 绝对值 格式:abs(x) 例如:print(abs(-18)) >>> 18 返回值:number #该函数主要用于数值类的操作 2.all() 是否都为真 格式:all(iterable) 例如:print(all([1,2,3,])) >>> Ture 返回值:bool #该函数主要用于可迭代对象的操作,主要为列表.元祖.字典和集合.当这些类型的元素中有空字符串.空列表.空元祖.空字典.空集合时,则返回值为F

Day10:内置函数、匿名函数、递归函数

一.内置函数 1.数学运算类 2.集合类操作 内置函数个别使用示例 1.any 集合中的元素有一个为真的时候为真, 特别的,若为空串返回为False 1 print(any([0,''])) 2 print(any([0,'',1])) 执行结果 1 False 2 True 2.divmod 取商得余数,用于做分页显示功能 1 print(divmod(10,3)) #取商得余数,用于做分页显示 执行结果 1 (3, 1) 3.eval  把字符串中的数据结构给提取出来 1 dic={'nam

day23 内置函数,匿名函数,递归

Python之路,Day11 = Python基础11 内置函数divmod(x, y)   # (商, 模)enumerate(可迭代对象)     # (序号,值)eval(字符串) # 把字符串当成命令执行set({1,2,3})   # 可变集合(增删改)frozenset({1,2,3})        # 不可变集合globals()   # 查看全局变量locals()   # 查看局部变量isinstance(3, int)     # 查看3是不是int类型pow(3,3)