Python 内建数据类型有哪些
- 整型 int
- 布尔型 bool
- 字符串 str
- 列表 list
- 元组 tuple
- 字典 dict
Python中 help()和 dir()函数的用途是什么
- dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表
- 带参数时,返回参数的属性、方法列表
- help()函数用于显示文档字符串,还可以帮助您查看与模块,关键字,属性等相关的帮助
Python 中 is、==、isinstance()的区别
- is 判断的是 a 对象是否就是 b 对象,是通过 id 来判断的
- ==判断的是 a 对象的值是否和 b 对象的值相等,是通过 value 来判断的
- 还可以使用内置函数isinstance()来测试一个对象是否属于某个类的实例
>>> x = y = [4,5,6]
>>> z = [4,5,6]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
简单列举说明私有成员、保护成员、特殊成员的特性
- _xxx 一个下划线开头,保护成员,只有该类的对象和子对象可以访问这些成员
- __xxx__ 系统定义的特殊成员 (特殊属性 + 特殊方法)
- __xxx 私有成员,一般只有类对象自己能访问,子类对象也不能访问该成员,但是外部对象可以通过 "对象名_类名__xxx"这样特殊方式来访问
Python 中的模块和包是什么
- 在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块中定义的函数、类信息
- 一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子包,所有的Py包都有__init__py 文件
介绍一下Py中 except 的用法和作用
- try…except…except…else…finally…
- 执行 try 下的语句,如果引发异常,则执行过程会跳到 except 语句
- try 下的语句正常执行,则执行 else 块代码。如果发生异常,就不会执行
- 如果存在 finally 语句,最后总是会执行
try:
print('运行中可能会抛出异常的代码 (数据库连接、文件读取、网络访问)')
100 / 1 # 100 / 0
except:
print('出现异常时进行捕获!')
else:
print('正常执行完毕时会执行')
finally:
print('是否出现异常都会执行')
Python中重载的实现机制
一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数
- 可变参数类型
- 可变参数个数
Python里面如何生成随机数?
- 随机整数:random.randint(a,b) 返回随机整数x,a<=x<=b
- 随机实数:random.random( ) 返回0到1之间的浮点数
- random.uniform(a,b):返回指定范围内的浮点数
for i in range(10):
# [a,b] 返回指定范围的随机整数
print(random.randint(1, 2), end=' ')
print()
for i in range(10):
# 返回0~1之间的浮点数
print(random.random(), end=' ')
print()
for i in range(10):
# 返回指定范围内的浮点数
print(random.uniform(3, 4), end=' ')
Python的可变类型与不可变类型
- Python的每个对象都分为可变和不可变,主要的核心类型中,数字、字符串、元组是不可变的,列表、字典是可变的,对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象
- 对于不可变类型int,无论创建多少个不可变类型,只要值相同 【-5~256】区间,都指向同个内存地址,其它的同理
>>> i = 5
>>> i += 1
>>> i
>>> id(i)
>>> i += 1
>>> i
>>> id(i)
Python的参数传递是值传递还是引用传递
不可变参数用值传递像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变不可变对象,可变参数是用引用传递的
a = 10
b = [1, 2, 3]
def show(x, y):
x += 1
y.append(4)
print(f'x={x},y={y}')
show(a, b)
print(f'a={a},b={b}')