DAY13 内置函数

内置函数

   内置函数就是python提供给我们的函数,可以随时拿来使用。截止到python3.6.2,一共有68种内置函数。按照功能,可以分为以下几类:

   作用域相关的:2种。  迭代器/生成器相关的:3种。   基础数据类型相关的:38种。  反射相关:4种。  面向对象相关的:9种。  其他:12种。

作用域相关

   globals():以字典的形式返回当前位置的所有全局变量。

name = ‘he‘
print(globals())
>>>
{‘__name__‘: ‘__main__‘, ‘__doc__‘: ‘locals():以字典的形式返回当前位置的局部变量‘, ‘__package__‘: None, ‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x00000244F0078630>, ‘__spec__‘: None, ‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘ (built-in)>, ‘__file__‘: ‘E:/python_training_s1/day13/builtin_func.py‘, ‘__cached__‘: None, ‘name‘: ‘he‘}

   locals():以字典的形式返回当前位置的所有局部变量。

b =2
def func():
    x = 1          #函数中的变量才是局部变量
    print(locals())
func()
>>>
{‘x‘: 1}

其他相关

   字符串类型代码的执行:不建议使用。

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

      exec():执行字符串类型的代码,但是没有返回值。

      compile():编译字符串类型的代码,使得其能够exec来执行或者可以通过eval来取值。

#eval()
s1 = ‘1+2+3‘
print(eval(s1),type(eval(s1)))
>>>
6 <class ‘int‘>             #处理字符串类型的代码,并返回结果,而且还会转换成结果对应的数据类型。

#eval()例子二
s2 = "{‘name‘:‘he‘}"
print(eval(s2),type(eval(s2)))
>>>
{‘name‘: ‘he‘} <class ‘dict‘>

#exec():执行字符串类型的代码,但是没有返回值。主要用于处理代码流
s1 = ‘1+2+3‘
print(exec(s1))
>>>
None        #exec()无返回值,所以为None

s3  = ‘‘‘for i in range(3):print(i)
‘‘‘
exec(s3)
>>>
0
1
2

    输入输出相关:

        input():用户输入,内容都转换为字符串类型。

       print() : 输出命令

#input()
name = input(‘请输入你的姓名:‘)      #用户输入的内容都被赋值给name
print(name)                # 变量的类型都是字符串类型

#print(self, *args, sep=‘ ‘, end=‘\n‘, file=None)
‘‘‘
sep:   打印多个值之间的分隔符,默认为空格
end: 每一次打印的结尾,默认为换行符
file: 默认是输出到屏幕,如果设置为文件句柄,重定向输出到文件中
‘‘‘

print(666,end=‘‘)  #默认print有一个换行换行符
print(777)
>>>
666777

print(1,2,3,4,5,sep=‘|‘)   #seq定义连接符,默认是空格
>>>
1|2|3|4|5

f = open(‘log.txt‘,‘w‘,encoding=‘utf-8‘)
print(‘i love python‘,file=f)  #类似重定向功能,把内容重定入文件
f.close()

   内存相关:

    hash():返回一个可哈希变量的哈希值,不可哈希的变量使用会报错。

     id():返回一个对象的内存地址。

# id():返回一个对象的内存地址
s1 = ‘he‘
print(id(s1))
>>>
2096407672512

#hash()
print(hash(‘name‘))
print(hash(‘name1‘))              #无论字符串长度多长,都是返回一定长度的哈希值
print(hash(1))                    #对于数值类型,哈希值就等于数值本身
print(hash(100))
print(hash(1000))
>>>
-5080043217602082193
-8127996159439637239
1
100
1000

   文件操作类型:

    open():打开文件,返回一个文件句柄。

   模块操作相关:

    __import__ : 用于动态加载模块和类。

#导入模块
import time

#使用__import__导入模块
os = __import__(‘os‘)
print(os.path.abspath(‘.‘))
>>>
E:\python_training_s1\day13

    调用相关:

    callable():判断一个对象是否可调用

name = ‘he‘
def func():
    pass
print(callable(name))          #普通变量不可调用
print(callable(func))            #截止到目前的学习中,函数是可以被调用的
>>>
False
True

  查看内置属性:

     dir():查看对象的所有方法

s1 = ‘abc‘
print(dir(s1)) #查找字符串的所有方法
>>>
[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getitem__‘, ‘__getnewargs__‘, ‘__gt__‘, ‘__hash__‘, ‘__init__‘, ‘__init_subclass__‘, ‘__iter__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘, ‘__mod__‘, ‘__mul__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__rmod__‘, ‘__rmul__‘, ‘__setattr__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘capitalize‘, ‘casefold‘, ‘center‘, ‘count‘, ‘encode‘, ‘endswith‘, ‘expandtabs‘, ‘find‘, ‘format‘, ‘format_map‘, ‘index‘, ‘isalnum‘, ‘isalpha‘, ‘isdecimal‘, ‘isdigit‘, ‘isidentifier‘, ‘islower‘, ‘isnumeric‘, ‘isprintable‘, ‘isspace‘, ‘istitle‘, ‘isupper‘, ‘join‘, ‘ljust‘, ‘lower‘, ‘lstrip‘, ‘maketrans‘, ‘partition‘, ‘replace‘, ‘rfind‘, ‘rindex‘, ‘rjust‘, ‘rpartition‘, ‘rsplit‘, ‘rstrip‘, ‘split‘, ‘splitlines‘, ‘startswith‘, ‘strip‘, ‘swapcase‘, ‘title‘, ‘translate‘, ‘upper‘, ‘zfill‘]

 

迭代器/生成器相关

    range():可创建一个整数对象,一般用在 for 循环中。python2.x中直接返回列表,python3.x中返回的是range对象。

    next():内部调用的是__next__()方法,返回迭代器的下一个对象。

    iter():内部调用的是__iter__()方法,用来将一个可迭代对象转换为迭代器。

#range()
for i in range(1,10):
    print(i)

#next():返回迭代器的下一个元素
g1 = (i for i in range(1,10))
print(next(g1))
print(next(g1))
>>>
1
2

#iter():把一个可迭代对象转换为迭代器。

from collections import Iterable,Iterator
l1 = [1,2,3]
print(isinstance(l1,Iterable))

iter_l1 = iter(l1)
print(isinstance(iter_l1,Iterator))

基础数据类型相关

   数据类型:

     bool(): 用于将给定的参数转换为布尔型,如果没有参数,则返回False.

     int():  用于将一个字符串或数字转化为整型。

      float():用于将字符串或者整数转化为浮点型。

      complex():复数。

   数字之进制转换相关:

     bin():把十进制转换为二进制。

     oct():把十进制转换为八进制

     hex():把十进制转换为十六进制。

   数据运算相关:

     abs():返回绝对值.

print(abs(100))
print(abs(-100))
>>>
100
100

     divmod():计算除数与被除数的商和余数,把(商,余数)作为一个元组返回。

print(divmod(10,3))
>>>
(3, 1)

    round():保留浮点数的小数位,四舍五入,默认取整。

print(round(3.1415926,4))
print(round(3.1415926))
>>>
3.1416
3

   pow():求x的y次幂,如果有第三个参数就是,为x的y次幂对z的取余。

print(pow(2,5))            #求2的5次方
print(pow(2,5,5))         #求2的5次方对5求余
>>>
32
0

  sum(): 对可迭代对象进行求和。可以传入第二个参数,当做起始值。

l1 = [1,2,3,4,5]
print(sum(l1))           #对l1进行求和,默认从0开始
print(sum(l1,100))    #对l1进行求和,从100开始
>>>
15
115

  min():返回可迭代对象中的最小值。可以传入key值,按照函数规则,返回最小值。

#min返回可迭代对象的最小值
l1 = [2,1,3,4,5]
print(min(l1))
>>>
1

#传入key参数,按照自定义的函数规则,返回最小值。
# 第一步:先将iterable的每一个元素都当做函数的参数传进去。
# 第二步:按照返回值去比较大小。

l1 = [(‘alex‘,1000),(‘taibai‘,18),(‘wusir‘,500)]
def func(x):
    return x[1]
print(min(l1,key=func))
>>>
(‘taibai‘,18)

  max():同上,返回可迭代对象中的最大值。可以传入key值,按照函数规则,返回最大值。

     

    

    

        

原文地址:https://www.cnblogs.com/hebbhao/p/9512283.html

时间: 2024-08-28 13:27:38

DAY13 内置函数的相关文章

python全栈开发-Day13 内置函数

一.内置函数 注意:内置函数id()可以返回一个对象的身份,返回值为整数. 这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准. is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型 #更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii 二.内置函数详情 1.abs

13t天 迭代器,生成器,内置函数

上周复习: 函数的递归调用 函数调用时函数嵌套调用的一种特殊形式 函数在调用时,直接或间接调用了自身,就是梯归调用. 直接调用自身 def f1():   print('from f1')   f1()f1() 间接调用函数 def f1():   print('from f1')   f2()?def f2():   print('from f2')   f1()f1() 梯归 递归应该分为两个明确的阶段,回溯与递推. 回溯就是从外向里一层一层递归调用下去,回溯阶段必须要有一个明确地结束条件,

内置函数

内置函数思维导图: 惊喜不断哟~~~~~~~

lambda表达式+python内置函数

传统的定义函数方式如下 def f1(): return 123 lambda表达式定义函数 f2 = lambda : 123 python3的内置函数 1.abs 绝对值 i = abs(-11) print (i) 输出结果是11 abs = absolute 2,all 循环参数,如果每个元素都为真,则返回为真 r = all([True, True]) print (r) 在python中 0 () [] ''和 None是False(空值都是假的) r = all(["123&quo

Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结

Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式,匹配的值将返回,返回策略由__occurrence决定__po

Python中内置函数的介绍

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

python函数(6):内置函数和匿名函数

我们学了这么多关于函数的知识基本都是自己定义自己使用,那么我们之前用的一些函数并不是我们自己定义的比如说print(),len(),type()等等,它们是哪来的呢? 一.内置函数 由python内部定义好我们可以直接调用的函数就叫内部函数.python一共给我们68个内置函数: abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() as

函数嵌套 ,名称空间与作用域 ,闭包函数 ,装饰器 ,迭代器, 生成器 三元表达式,列表解析,生成器表达式 递归与二分法, 内置函数

函数嵌套名称空间与作用域闭包函数装饰器迭代器生成器三元表达式,列表解析,生成器表达式递归与二分法内置函数--------------------------------------------函数的嵌套调用:在调用一个函数的过程中,又调用了其他函数函数的嵌套定义:在一个函数的内部,又定义另外一个函数def max(x,y): if x>y: return x else: return ydef max1(a,b,c,d): res=max(a,b) res2=max(res,c) res3=ma

python学习第十节(yield表达式的应用+内置函数)

上节复习 yield表达式g.send(1)send函数是相当于next并且给yield传一个值,先传值,再next 加上装饰器 yield表达式的应用 第一个是当前目录的地址第二个是当前目录下的目录第三个是当前目录下的文件再次next(g)就可以查看当前目录下第一个目录下的信息 ##############下面是更改版本##################### 内置函数all() 所有为true才为trueany() 只要有true 就为truebin()十进制转为2进制oct()十进制转为