文章目录

  • 1 如何在Python中管理内存?
  • 2 什么是python模块?Python中有哪些常用的内置模块?
  • 3 Python中的== 局部变量和全局变量 ==是什么?
  • 4 什么是Python中的类型转换?
  • 5 什么是__init__?
  • 6 什么是lambda函数?
  • 7 Python中的self是什么?
  • 8 区分break,continue和pass?
  • 9 [:: - 1}表示什么?
  • 10 如何在Python中随机化列表中的元素?
  • 11 什么是python迭代器?
  • 12 python中的生成器是什么?
  • 13 什么是可迭代对象?
  • 14 为什么使用* args,** kwargs?
  • 15 如何将值添加到python列表?
  • 16 如何删除python列表的值?
  • 17 深拷贝和浅拷贝有什么区别?
  • 18 如何在Python中实现多线程?
  • 19 一行代码实现1--100之和
  • 20 字典如何删除键和合并两个字典
  • 21 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数
  • 22 python中生成随机整数、随机小数、0--1之间小数方法
  • 23 用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的
  • 24 python中断言方法举例
  • 25 列出python中可变数据类型和不可变数据类型,并简述原理
  • 26 s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"
  • 27 字典根据键从小到大排序
  • 28 字符串a = "not 404 found 张三 99 深圳",每个词中间是空格,用正则过滤掉英文和数字,最终输出"张三 深圳"
  • 29 filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 30 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
  • 31 举例说明异常模块中try except else finally的相关意义
  • 32 举例说明zip()函数用法
  • 33 写5条常用sql语句
  • 34 list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6]
  • 35 请将[i for i in range(3)]改成生成器
  • 36 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]
  • 37 对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序
  • 38 列表嵌套字典的排序,分别根据年龄和姓名排序
  • 39 递归求和 1到100的数和
  • 40 python字典和json字符串相互转化方法
  • 41 统计字符串中某字符出现次数
  • 42 str=' hello world '用两种方法去空格
  • 43 a+文件打开模式直接读取为什么读取不到东西
  • 44 常见的网络传输协议
  • 45 什么是md5,sha,作用是什么
  • 46 python 操作mysql数据应该使用什么模块?
  • 47 python 操作 redis数据库应该使用什么模块?
  • 48 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法
  • 49 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']
  • 50.is和==的区别?
  • 51.两种方法去字符串空格
  • 52.正则匹配不是以4和7结尾的手机号
  • 53.正则表达式匹配第一个URL
  • 54.正则表达式匹配出

1 如何在Python中管理内存?

(1)引用计数
(2)分代回收
(3)标记清除

2 什么是python模块?Python中有哪些常用的内置模块?

在Python程序中,每个.py文件都可以视为一个模块,
通过在当前.py文件中导入其它.py文件,可以使用被导入文件中定义的内容,例如类、变量、函数等
time
random
sys
json
re
os
datetime

3 Python中的== 局部变量和全局变量 ==是什么?

局部变量:作用于一定范围的变量
定义在函数内部的变量称为局部变量(函数的形参也是局部变量),
局部变量只能在函数内部使用,只有在函数调用时才能够被创建,在函数调用之后会动销毁。
全局变量:所有地方都能用到的变量
定义在函数外部,模块内部的变量称为全局变量,所有的函数都可以直接访问全局变量(但函数内部不能将其直接赋值

4 什么是Python中的类型转换?

对象从一种数据类型到另一种数据类型的转换

5 什么是__init__?

类的构造函数
一、类实例化时触发
二、自建包的时候用到,告诉这个文件夹是包

6 什么是lambda函数?

匿名函数

7 Python中的self是什么?

== 对象 ==

8 区分break,continue和pass?

一、== break 语句负责终止使用它的循环。跳出当前循环
二、当 continue ==语句在循环结构中执行时,并不会退出循环结构,跳出当次循环,而是立即结束本次循环,重新开始下一轮循环,也就是说,跳过循环体中在continue语句之后的所有语句,继续下一轮循环。
三、Python == pass ==语句在循环、函数、类和if语句中用作占位符,不做任何事情,是一个空操作。

9 [:: - 1}表示什么?

倒序

10 如何在Python中随机化列表中的元素?

shuffle()

11 什么是python迭代器?

迭代器:能被next函数不断调用,并不断返回下一个值。list、set、dicts通过iter()转换的

12 python中的生成器是什么?

生成器:是一种特殊的迭代器,只有列表生成式和函数yield返回生成的才是生成器

13 什么是可迭代对象?

可迭代对象:所有能被for循环遍历的。如:range(100),{1,2,3,4}

14 为什么使用* args,** kwargs?

*args,**kwargs这两个基本可以代替所有参数,
有时候不确定函数要几个参数,也不确定参数的格式

15 如何将值添加到python列表?

append()

  • 会创建新的内存空间
    extend()
    insert()

16 如何删除python列表的值?

pop()
remove ()
del ()
clear()

17 深拷贝和浅拷贝有什么区别?

首先深拷贝和浅拷贝都是对原对象的拷贝,都会生成一个看起来相同的对象,本质区别就是拷贝出来的对象的「地址」是否与原对象一样,即就是对原对象的地址的拷贝,还是值的拷贝

== 深拷贝 :对原对象的地址的拷贝,新拷贝了一份与原对象不同的地址的对象,修改对象中的任何值,都不会改变深拷贝的对象的值。
== 浅拷贝 :对原对象的值的拷贝,地址仍是一个指针指向原对象的地址,浅拷贝或者原对象的值发生变化,那原对象和浅拷贝对象的值都会随着被改变。
== 浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用
== 深拷贝(深度克隆):不仅复制对象的基本类,同时也复制原对象的对象,完全是新对象产生的
1.copy.copy 浅拷贝——只拷贝对象,不会拷贝对象的引用对象,不会拷贝原始对象的内部的
2.copy.deepcopy 深拷贝——拷贝对象的值类型,还拷贝了原始对象,而产生了一个新的对象,不仅仅只拷贝了原始对象的引用

import copy
from copy import deepcopy,copyl = [1,2,3,[4,5,6]]l1 = copy(l)
l2 = deepcopy(l)   #深拷贝一点影响都没有
# print(l1,l2)
l[-1].append(123)
l.append(456)
print(l,l1,l2)结果:[1, 2, 3, [4, 5, 6, 123], 456] [1, 2, 3, [4, 5, 6, 123]] [1, 2, 3, [4, 5, 6]]

18 如何在Python中实现多线程?

Python中的多线程可以通过导入threading模块来实现。

19 一行代码实现1–100之和

方法一
print(sum(range(1,101)))方法二
from functools import reduce
print(reduce(lambda x,y:x+y,range(101)))
结果:5050

20 字典如何删除键和合并两个字典

pop ()
update ()

21 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数

方法一
def get_data(x):return x**2lists = [1,2,3,4,5]
print(list(map(get_data,lists)))结果:[1, 4, 9, 16, 25]方法二
lists = [y for y in map(lambda x:x**2,[1,2,3,4,5])if y >10]
print(lists)
结果:[16, 25]方法三
def square(x):return x**2
res = map(square,[1,2,3,4,5])
res = [i for i in res if i > 10]
print(res)

22 python中生成随机整数、随机小数、0–1之间小数方法

random.randint(1,10)
random.random()
random.random()

23 用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的

方法一
import re
source = '<div class="nam">中国</div>'
demo = re.compile('<div class="\w+">(\w+)</div>')
result = demo.findall(source)
print(result)结果:['中国']方法二
import re
str = '<div class="nam">中国</div>'
result = re.findall(r'<div class=".*">(.*?)</div>',str)
print(result)结果:['中国']方法三
re.complie是将正则表达式编译成一个对象,加快速度并重复使用
import re
title = "你好,hello,世界!"
res = re.compile(r'[\u4e00-\u9fa5]+')
result = res.findall(title)
print(result)结果:['你好', '世界']

24 python中断言方法举例

使用assert断言
assert 3>4
和raise ValueError差不多if 3<4:raise ValueError('你错了')
a = 2
assert (a>1)
print('断言成功,程序继续向下执行')b = 2
assert (b>3)
print('断言失败,程序报错')   #AssertionErrorpython的assert是用来检查一个条件,如果他为真,就不做任何事
如果他为假,则会抛出AssertionError并且包含错误信息

25 列出python中可变数据类型和不可变数据类型,并简述原理

dict list set   int float bool tuple  str

26 s = “ajldjlajfdljfddd”,去重并从小到大排序输出"adfjl"

s = "ajldjlajfdljfddd"
print(''.join(sorted(set(s))))结果:adfjl

27 字典根据键从小到大排序

dic={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}result = dict(sorted(dic.items(),key=lambda x:x[0]))  #x:x[0]传进来取前面的值
print(result)结果:{'age': 18, 'city': '深圳', 'name': 'zs', 'tel': '1362626627'}

28 字符串a = “not 404 found 张三 99 深圳”,每个词中间是空格,用正则过滤掉英文和数字,最终输出"张三 深圳"

方法一
import re
a = "not 404 found 张三 99 深圳"
result = re.sub('[a-zA-Z0-9]','',a)  #把数字大小写字母全部替换成空的,替换对象是a
print(result.strip())结果:张三  深圳方法二
import re
a='not 404 found 张三 99 深圳'
li = a.split(' ')
print(li)  #结果:['not', '404', 'found', '张三', '99', '深圳']
res = re.findall('\d+|[a-zA-Z]+',a) #\d匹配数字,|[]中匹配单词,+连接多个匹配方式
for i in res:if i in li:li.remove(i)new_str = ' '.join(li)
print(res)   #结果:['not', '404', 'found', '99']
print(new_str)   #结果:张三 深圳

29 filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

方法一
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
l = [y for y in filter(lambda x:x%2==1,a)]
print(l)结果:[1, 3, 5, 7, 9]方法二
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def fun(a):return a%2==1
list1 = filter(fun,a)
list2 = list(list1) #等价于list2=[i for i in list2]
print(list2)结果:[1, 3, 5, 7, 9]

30 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]

方法一
l1 = [1,5,7,9]
l2 = [2,2,6,8]print(sorted(l1+l2))
结果:[1, 2, 2, 5, 6, 7, 8, 9]方法二
l1 = [1,5,7,9]
l2 = [2,2,6,8]
l1.extend(l2)     #合并添加
print(l1)  #结果:[1, 5, 7, 9, 2, 2, 6, 8]
l1.sort() #排序
print(l1)  #结果:[1, 2, 2, 5, 6, 7, 8, 9]方法三
for a,b in zip(l1,l2):print(a,b)
结果:
1 2
5 2
7 6
9 8

31 举例说明异常模块中try except else finally的相关意义

try:print(aaa)
except:print(123)
else:print(456)
finally:  #不管是否执行成功都要打印print("over")结果:
123
over
如果try执行不成功,那么顺序就是except finally
如果try执行成功,那么顺序就是try else finally

32 举例说明zip()函数用法

my_list = [11,12,13]
my_tuple = (21,22,23)
print([x for x in zip(my_list,my_tuple)])  #打包结果:[(11, 21), (12, 22), (13, 23)]

33 写5条常用sql语句

select * from table
insert into table(字段) values("值")
update table set 字段='值'
delete from table
select * from table where id in (select id from table)

34 list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6]

方法一
l12=[2,3,5,4,9,6]
l121=[]
for i in range(0,100):if i in l12:l121.append(i)
print(l121)lists = [4,2,8,7,9,3,6,5]方法二:冒泡排序
for j in range(len(lists)-1):flag = 0for i in range(len(lists)-1-j):if lists[i]>lists[i+1]:lists[i],lists[i+1] = lists[i+1],lists[i]flag = 1if flag==0:break
print(lists)结果:[2, 3, 4, 5, 6, 7, 8, 9]

35 请将[i for i in range(3)]改成生成器

a = (i for i in range(3))
print(type(a))

36 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]

list=[0,-1,3,-10,5,9]
a = sorted(list)   #创建新的
print(a)list=[0,-1,3,-10,5,9]
list.sort()       #作用于原来的
print(list)

37 对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序

foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4]
h= lambda x :sorted(x)
print(h(foo))
结果:[-20, -5, -4, -4, -2, 0, 2, 4, 8, 8, 9]

38 列表嵌套字典的排序,分别根据年龄和姓名排序

39 递归求和 1到100的数和

def get_data(n):if n==1:return 1else:return n+get_data(n-1) #100、99、98....1print(get_data(100))结果:5050

40 python字典和json字符串相互转化方法

import json
dict = {'hello':123}
jsons = json.dumps(dict)   #字典转json字符串
print(jsons)
print(json.loads(jsons))  #转回结果:
{"hello": 123}
{'hello': 123}

41 统计字符串中某字符出现次数

count()方法
str = "李白  45 李白 hello world 杜甫"
res = str.count("李白")
print(res)  #结果:2

42 str=’ hello world '用两种方法去空格

方法一
str.replace(' ','')方法二
import re
result = re.sub('\s','',str)方法三
print(''.join(str.split(' ')))

43 a+文件打开模式直接读取为什么读取不到东西

seek()

44 常见的网络传输协议

http
https

45 什么是md5,sha,作用是什么

我们最常用的是sha1加密,md5和sha1都是不可逆的
== md5 ==去重,根据字节去重

46 python 操作mysql数据应该使用什么模块?

pymysql mysqlclient

47 python 操作 redis数据库应该使用什么模块?

48 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

strs = 'tashiyigedashiren,tajiushiliuzongyuantt'
def hello(strs,h='all',s=' '):while h=='l' or h=='all':  #左边或者全部if strs[0]==s:strs = strs[1:]else:breakwhile h=='r' or h=='all': #右边或者全部if strs[-1]==s:strs=strs[:-1]else:breakreturn strs
print(hello(strs,h='r',s='t'))  #去除右边的t结果:
tashiyigedashiren,tajiushiliuzongyuan

49 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:[‘adam’, ‘LISA’, ‘barT’],输出:[‘Adam’, ‘Lisa’, ‘Bart’]

data = ['adam', 'LISA', 'barT']
print(list(map(str.title,data)))结果:['Adam', 'Lisa', 'Bart']

50.is和==的区别?

is 是检查两个对象是否指向同一块内存空间,而 == 是检查他们的值是否相等。
可以看出,is 是比 == 更严格的检查,is 返回True表明这两个对象指向同一块内存,值也一定相同。

51.两种方法去字符串空格

方法一
str = "hello world, 世界"
res = str.replace(" ","")
print(res)  #结果:helloworld,世界方法二
list = str.split(" ")
res = "".join(list)
print(res)  #结果:helloworld,世界

52.正则匹配不是以4和7结尾的手机号

#电话号码是虚拟的
import retels = ["13100001234","18912344321","10076","18800007777"]for tel in tels:ret = re.match("1\d{9}[0-3,5-6,8-9]",tel)if ret:print("想要不是以4和7结尾的手机号是:",ret.group())else:print("%s:不是想要的手机号" % tel)# 结果:
13100001234:不是想要的手机号
想要不是以4和7结尾的手机号是: 18912344321
10076:不是想要的手机号
18800007777:不是想要的手机号

53.正则表达式匹配第一个URL

findall结果无需加group(),search()需要加group()提取

import res = '<imng data-original="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg"'\'src="https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg" style="display: incline;">'
#re.findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表
#注意: match和search是匹配一次,findall匹配所有。
res = re.findall(r"https://.*?.jpg",s)[0]
print(res)结果:
https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg#re.search扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。
res = re.search(r"https://.*?.jpg",s)
print(res.group())结果:
https://rpic.douyucdn.cn/appCovers/2016/11/13/124871_23424435_small.jpg

54.正则表达式匹配出

==

www.itcast.cn

==

import relabels = ["<html><h1>python编程:887934385</h1></html>","<html><h1>python编程:789534385</h1></html>"]for label in labels:ret = re.match(r"<(\w*)><(\w*)>.*?</\2></\1>",label)if ret:print("%s 是符合要求的标签"%ret.group())else:print("%s 不符合要求的标签" % label)结果:
<html><h1>python编程:887934385</h1></html> 是符合要求的标签
<html><h1>python编程:789534385</h1></html> 是符合要求的标签
import re
labels = '"<html><h1>python编程:887934385</h1></html>","<html><h1>python编程:789534385</h1></html>"'
ret = re.findall(r"<(\w*)><(\w*)>(.*?)</\2></\1>",labels)
print("%s 是符合要求的标签"% ret)结果:[('html', 'h1', 'python编程:887934385'), ('html', 'h1', 'python编程:789534385')] 是符合要求的标签

1112day10:考前复习50题:断言相关推荐

  1. c语言中swith的用法,初中英语语法知识点大全+记忆口诀+易错题100道,考前复习...

    原标题:初中英语语法知识点大全+记忆口诀+易错题100道,考前复习 初中英语语法知识点大全 初中英语记忆口诀 1.be的用法口诀 我用am,你用are,is连着他,她,它: 单数名词用is,复数名词全 ...

  2. 软件设计师复习点/错题总结:适合考前复习

    软件设计师复习点/错题总结:适合考前复习 1.寄存器分类 程序寄存器(PC):下一条指令的地址(存放在控制器)程序员可以访问(MOV-) 指令寄存器(IR):正在运行的指令(存在在控制器中)对用户完全 ...

  3. 计算机在储存数据时把2的50次方,2016职称计算机考试word2003考前选择题押题2

    单选题 1.通过以下哪种方法可以修改保存文档的默认文件夹? A 在"选项"下,单击"保存"选项卡. B 在"自定义"下,单击"选项 ...

  4. 图解SQL面试题:经典50题

    图解SQL面试题:经典50题 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) ...

  5. Linux期末复习编程题

    Linux期末复习编程题 0.先说说编程需要注意的点吧 1.if条件语句 2.乘法口诀表 3.自动删除50个账号 4.菜单设计 0.先说说编程需要注意的点吧 如果是if 条件时,需要注意每个字符都要用 ...

  6. 电子电路期末考试复习预测题一(内附详细解析)

    电子电路期末考试复习预测题(一) 目录 电子电路期末考试复习预测题(一) 复习题一 试题库(1)直流电路 试题库(2)直流电路 试题库(3)暂态电路 复习题一 试题库(1)直流电路 三.单项选择题 1 ...

  7. 50道HIVE练习题-搞定了这50题hive sql,那可不嘚直接通关起飞!!!

    大数据#自学之hive通关"葵花宝典"超详细的练习过程,赶紧收藏吧! @搞定了这50题hive sql,那不得直接月薪10K>>起>>飞>>&g ...

  8. 2021年12月远程网络教育大学英语B统考题库复习真题(完整版)

    远程网络教育大学英语B.计算机应用基础统考题库. 大学英语B统考题库:复习内容全面.格式排版清晰.每道复习试题均为考试针对性试题.多加复习即可轻松通过.(网络统考均采用机考,上机考试,随机组卷,每个考 ...

  9. CSP-S 2019 考前复习日记

    本日记将会记录Chavapa在10.2810.2810.28~11.1411.1411.14 期间的复习颓废情况. Day -18(10.28,Mon.) 今天生日耶~~ 收到很多女同学的祝福还是很快 ...

最新文章

  1. 下载免费电子书:A Byte of Vim [转]
  2. 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用
  3. [eBook] SQL 2008
  4. 简单了解Vue的异步请求,axios-0.18.0.js插件实现异步
  5. linux 小命令1
  6. 数据结构与算法--这个需求很简单怎么实现我不管(发散思维)
  7. Python 模块 timedatetime
  8. Windows下基于python3使用word2vec训练中文维基百科语料资料汇总
  9. ELK官方文档:在Kibana加密通讯
  10. linux切换软件版本,使用Linux的alternatives命令替换选择软件的版本方法
  11. exchange 日常管理之八:合并用户邮箱
  12. python pyhook_pyhook的简单使用
  13. matlab衰减曲线法整定步骤,Matlab仿真PID控制——衰减曲线法整定参数
  14. 计算机二级office应用与设计,全国计算机等级考试二级教程——MS Office高级应用与设计(2021年版)...
  15. Office Word 2016 Mathtype出现omml2mml.xsl 问题的解决方法
  16. 微信内置浏览器中如何实现点击电话号码自动到拨号页面?
  17. R语言构造扑克牌自动发牌,洗牌
  18. .Net部分 面试问题
  19. CNN卷积神经网络结构遐思
  20. Ubuntu查看系统信息(CPU、GPU信息)

热门文章

  1. Termux使用SSH
  2. 视频插帧—学习笔记(算法+配置+云服务+Google-Colab)
  3. 第17次Scrum会议(10/29)【欢迎来怼】
  4. Database Mirroring
  5. uc显示无服务器连接,ucenter安装心得和通信失败,同步登陆失败采坑以及解决方法...
  6. MySQL数据查询之多表查询
  7. 嵌入式系统设计与制作报告
  8. fatal: unable to access ‘xxx‘: schannel: failed to receive handshake, SSL/TLS connection f...
  9. 深度学习 01 探索深度学习
  10. (五)DDR协议命令波形时序二——(Precharge、Refresh、Self Refresh、Power Down)