python基础问题

包安装相关
问:如何安装Python三方包?在命令行如何检查一个包是否已安装?
答:安装用pip install 卸载用 pip uninstall
直接import 这个包

问:环境变量PATH的作用是什么?命令行报错pip不是可执行命令的原因是什么?如何处理?
答:用是指定命令搜索路径,在i命令行下面执行命令
一般是环境变量未加上,直接加:
在cmd界面输入: path=%path%;D:\Python

问:pip安装时如何使用豆瓣源安装,遇到以下报错,如何处理?
答:pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com django






Python数据类型相关

问:Python中有哪些数据类型?哪些是可变的,哪些是不可变的?
答:类型:整数int 、字符串str 、浮点数float、 布尔型bool 、列表list 、字典dict 、集合set 、元组tuple
可变类型:1.列表、2.字典、3.集合
不可变:整数、字符串、浮点数、布尔型、元组(不可变列表,不可重复)

问:如何判断一个字符串是不是数字?
def is_number(s):
try:
float(s)
return True
except ValueError:
pass

try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False

# 测试字符串和数字
print(is_number('foo')) # False
print(is_number('1')) # True
print(is_number('1.3')) # True
print(is_number('-1.37')) # True
print(is_number('1e3')) # True

问:将name = 'LiLy' age=18 gender='女',将name、age、gender变量实际值填入字符“我是Kevin,年龄21,性别male”
答:
name = 'LiLy'
age=18
gender='女'
p=("我是%s,年龄%d,性别%s")%(name,age,gender)
print (p)

问:将一个字符串“I am the whole world”按空格分隔,列表反转,重新按空格拼接成“world whole the am I”
答:a="I am the whole world"
b=a.split(' ')
c=list(reversed(b))
d=' '.join(c)


问:将一个字典{'Kevin': 21, 'Lily': 19, 'John': 20}改为列表[{'name': 'Kevin', 'age': 21}, {'name': 'Lily, 'age': 19}, {'name': 'John, 'age': 20}]形式
答:
a={'Kevin': 21, 'Lily': 19, 'John': 20}
record=[]
for k,v in a.items():
record.append({'name':k,'age':v})
print (record)

问:列表和集合的区别是什么?在大数据量查询时哪个更高效?
答:
列表数据有序,可重复,查找某个元素方式为逐个遍历; 时间复杂度为列表的长度,即从第一个元素遍历到最后一个元素为止,O(len(list))
集合数据无序,不可重复,查找某个元素方式为哈希。即某个元素通过哈希计算,他的位置永远固定(顺序却不按输入元素顺序,解释了为什么集合无序),查询时通过哈希即可一次找到该元素。
时间复杂度为O(1)
对于大量数据,集合效率极高

问:深拷贝和浅拷贝有什么区别?
答:深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。
假设B复制了A,修改A的时候,看B是否发生变化:
如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)
如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)
posted @ 2021-05-07 23:44  何双新  阅读(103)  评论(0编辑  收藏  举报