内置函数

Posted daisl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置函数相关的知识,希望对你有一定的参考价值。

什么是内置函数:

  就是Python给你提供的,拿来直接用的函数,比如print,input等等。

1、作用域

  locals :函数会以字典的类型返回当前位置的全部局部变量。

  globals:函数以字典的类型返回全部全局变量。

a = 1
b = 2
print(locals())
print(globals())
# 这两个一样,因为是在全局执行的。

##########################

def func(argv):
    c = 2
    print(locals())
    print(globals())
func(3)

#这两个不一样,locals() {argv: 3, c: 2}
#globals() {__doc__: None, __builtins__: <module builtins (built-in)>, __cached__: None, __loader__: <_frozen_importlib_external.SourceFileLoader object at 0x0000024409148978>, __spec__: None, __file__: D:/lnh.python/.../内置函数.py, func: <function func at 0x0000024408CF90D0>, __name__: __main__, __package__: None}

 

字符串类型代码的执行:

  eval,exec,complic

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

eval(2 + 2)  # 4


n=81
eval("n + 4")  # 85


eval(print(666))  # 666

  exec:执行字符串类型的代码

  

s = ‘‘‘
for i in [1,2,3]:
    print(i)
‘‘‘
exec(s)

 

输入输出相关 input,print

  input:函数接受一个标准输入数据,返回为 string 类型。

  print:打印输出。

print(111,222,333,sep=*)  # 111*222*333

print(111,end=‘‘)
print(222)  #两行的结果 111222

f = open(log,w,encoding=utf-8)
print(写入文件,file=f,flush=True)

 

内存相关hash id

hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。

print(hash(12322))
print(hash(123))
print(hash(arg))
print(hash(alex))
print(hash(True))
print(hash(False))
print(hash((1,2,3)))

‘‘‘
12322
-2996001552409009098
-4637515981888139739
2311495795356652852
1
0
2528502973977326415
‘‘‘

id:用于获取对象的内存地址。

print(id(123))  # 1674055952
print(id(abc))  # 2033192957072

文件操作相关:

  open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

模块相关__import__

  __import__:函数用于动态加载类和函数 。

 

查看内置属性

  dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

>>>dir()   #  获得当前模块的属性列表
[__builtins__, __doc__, __name__, __package__, arr, myslice]
>>> dir([ ])    # 查看列表的方法
[__add__, __class__, __contains__, __delattr__, __delitem__, __delslice__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getitem__, __getslice__, __gt__, __hash__, __iadd__, __imul__, __init__, __iter__, __le__, __len__, __lt__, __mul__, __ne__, __new__, __reduce__, __reduce_ex__, __repr__, __reversed__, __rmul__, __setattr__, __setitem__, __setslice__, __sizeof__, __str__, __subclasshook__, append, count, extend, index, insert, pop, remove, reverse, sort]

 

2、迭代器生成器相关

  range:函数可创建一个整数对象,一般用在 for 循环中。

  next:内部实际使用了__next__方法,返回迭代器的下一个项目。

# 首先获得Iterator对象:
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
    try:
        # 获得下一个值:
        x = next(it)
        print(x)
    except StopIteration:
        # 遇到StopIteration就退出循环
        break

iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)

from collections import Iterable
from collections import Iterator
l = [1,2,3]
print(isinstance(l,Iterable))  # True
print(isinstance(l,Iterator))  # False

l1 = iter(l)
print(isinstance(l1,Iterable))  # True
print(isinstance(l1,Iterator))  # True

 

以上是关于内置函数的主要内容,如果未能解决你的问题,请参考以下文章

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

vs 2010代码片段

vs 2010代码片段

c#代码片段快速构建代码

你知道的Go切片扩容机制可能是错的

VSCode自定义代码片段——声明函数