Python面经【5】
一、Python里面如何生成随机数
在python中用于生成随机数的模块是random,在使用前需要import,示例如下:
- random.random():生成一个 0-1 之间的随机浮点数,不包括1
- random.uniform(a, b):生成 [a, b] 之间的随机浮点数,包括a和b
- random.randint(a, b):生成 [a, b] 之间的整数,包括a和b
二、Python是强语言类型还是弱语言类型
- 强类型:不允许不同类型相加。
- 动态:不使用显示数据类型声明,且确定变量的类型是在第一次给它赋值的时候。
- 脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。
三、什么是解释性语言,什么是编译性语言
- 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
- 解释性语言在运行程序的时候才会进行翻译。
- 编译性语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。
四、Python如何进行类型转换的
Python的内建函数封装了各种转换函数,可以使用目标类型关键字强制类型转换,进制之间的转换可以用int(‘str’, base=’n’)将特定进制的字符串转换为十进制,再用相应的进制转换函数将十进制转换为目标进制。
- int(): 将一个数值或字符串转换为整数类型。
- float(): 将一个数值或字符串转换为浮点数类型。
- str(): 将一个对象转换为字符串类型
- list(): 将一个可迭代对象转换为列表类型。
- tuple(): 将一个可迭代对象转换为元组类型。
- set(): 将一个可迭代对象转换为集合类型。
五、Python中有日志吗?怎么使用?
Python中有日志,python自带logging模块,调用logging.basicConfig()方法,配置需要的日志等级和相应的参数,python解释器会根据配置的参数生成相应的日志。
六、Python中的作用域
语言区分作用域,是为了复用变量名。引入作用域,相当于给变量划分了各自的‘隔离区’,在不同的‘隔离区’里,查找变量变得容易。Python中,变量的作用域取决于其定义的位置。当python遇到一个变量的话它会按照这个顺序进行搜索(由内向外):
局部作用域(Local)–>嵌套作用域(Enclosing locals)–>全局作用域(Global)–>内置作用域(Built-in)
- 局部作用域:定义在函数内部的变量、定义在函数声明中的形式参数
def my_function():
local_var = 20 # 局部作用域中的变量
print(local_var)
my_function() # 输出: 20
print(local_var) # 报错,局部作用域中的变量在外部不可访问
- 嵌套作用域:定义在函数中,嵌套函数外,且被嵌套函数引用的变量
def outer_function():
outer_var = 30 # 外部函数的变量
def inner_function():
print(outer_var) # 在内部函数中访问外部函数的变量
inner_function()
outer_function() # 输出: 30
- 全局作用域:定义在.py文件内,且函数、类之外的变量
global_var = 10 # 全局作用域中的变量
def my_function():
print(global_var) # 在函数中访问全局作用域中的变量
my_function() # 输出: 10
- 内置作用域:它的范围是所有模块的任何位置。python内置的数据类型、内置函数、标准异常等都属于内置作用域
print(len([1, 2, 3])) # 使用内置作用域中的函数len()