python内置函数


前言

编程语言中预先定义的函数。具体:嵌入到主调函数中的函数称为内置函数,又称内嵌函数。 作用是提高程序的执行效率,大多编程语言都有自己的内置函数。下面将详细介绍N组常用内置函数,其余常用内置函数作为了解

第一组range(start=0,stop,step=1)

内置函数range产生能生成整数序列的可迭代对象,从[start,end)间隔为step。

s=range(1,10,2)
print(s)#range(1, 10, 2)
print(type(s))#<class 'range'>

第二组 format()

内置函数format主要作用就是格式化,它有三种用法:
1.对齐字符串
format(str, chalen)
chalen格式为【填充符号(默认为空格) 对齐方式(<左对齐、>、^)返回文本长度】。

text='hello world'
FCenterText=format(text,'=^20')#====hello world=====

2.对数字进行格式化
格式format(value, chalen) ,格式如:’0.2f’取2位value【f、e、E】、” b”二进制等

num=1.234
twoNum=format(num,'0.3f')#1.234

#第二种调用方式
{:0.3f}.format(num)

3.插值字符串【格式化字符串】

s='myname is {name},I have {n} message'
s.format(name='S',n=12)#myname is S,I have 12 message,注:在这里无法使用s.format('S',12)

还有一点差点忘记说明:

s='my name is {name:!^20}'.format(name='wr')
print(s)#my name is !!!!!!!!!wr!!!!!!!!!

除了存在还存在一个format_map(vars())的方法

s='myname is {name},I have {n} message'
name,n='Ss',123
s.format_map(vars())

高级用法
format、format_map都无法优雅的处理某个值缺省的情况对于这个问题我们可以如下处理:单独定义一个带有__missing__()的字典类。

s='myname is {name},I have {n} message'
name='SSs'
class safesub(dict):
    def __missing__(self, key):
        return '{'+key+'}'
s.format_map(safesub(vars()))#myname is SSs,I have {n} message

第三组变量作用域locals\global

对变量作用域的说明:
所谓作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用。只有模块、类及函数才会使用作用域
作用域种类:

  • L(局部作用域,函数中定义的变量)
  • E(父级函数的局部作用域,但非全局)
  • G【全局变量,就是模块级别定义的变量】
  • B【系统固定的模块里面的变量】

变量查找顺序:LEGB
局部作用域无法修改全局作用域变量【用global 全局变量声明才可以修改,值得注意的是在局部作用域中对取与全局变量相同变量名的同名变量赋值是没有错误的,还要说以这种形式赋值,并不会对全局变量产生影响。

x=2
def test():
    x=1

test()
print(x)# 2

值得注意的是
1.全局变量在函数内部修改之后,本身也会永久修改
2.全局变量可变如列表则无需加global,直接修改
函数介绍:
global A声明或创建全局变量A
locals()获取所有与locals同级的局部变量。

def display_table_objs(request,app_name,table_name):
    # models_module=importlib.import_module('%s.models'%(app_name))
    # model_obj=getattr(models_module,table_name)
    admin_class=myadmin.enabled_admin[app_name][table_name]
    return render(request,"myadmin/table_objs.html",locals())
    #return render(request,"myadmin/table_objs.html",{"admin_class":admin_class})

第四组filter、map、reduce

filter(function, iterable) 函数用判断函数function过滤iterable序列,过滤掉不符合条件的元素,返回一个迭代器对象。
map(function, iterable) 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的迭代器。
reduce(function, iterable) 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果

第五组encode、decode、ord、chr

encode\decode编码和解码
ord\chr返回单个字符的Unicode或ASCII码【解码】\【编码】

解码与编码的含义:将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

其他简单的常用内置函数

  1. abs(x)返回绝对值
  2. all(iterable)可迭代对象中的元素都是True的就返回True,否则返回False
  3. any()可迭代对象中的元素有True的就返回True,否则返回False
  4. bin()将数字转换为二进制
  5. callable(object)测试对象是否可调用。
  6. dir(x)返回指定对象或模块的成员列表
  7. isinstance()测试对象是否为指定类型
  8. len()返回对象的元素个数
  9. round(x[,小数位数])对x的小数位进行四舍五入
  10. reversed()返回逆序后的迭代器对象
  11. zip()返回一个列表
  12. type()返回对象类型
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值