python基础知识复习(每日更新)

数据库的脏读幻读树结构等原理性知识,需要重点深挖

..................................

今日考题

0104
1.谈谈你对web框架的认识,简述web框架请求流程
2.python三大主流web框架的区别
3.安装django需要注意的事项有哪些(最少三条及以上,越多越好)
4.如何验证django是否安装成功,命令行如何创建django项目,如何启动django项目。与pycharm创建django项目的区别?
5.什么是app,django中如何创建app,需要注意什么

今日考题

0103
1.下面这段代码的输出结果是什么,并给出你的解释
def index():
    return [lambda x : i * x for i in range(4)]
print([m(2) for m in index()]) 
2.有一个列表[3,4,1,2,5,6,6,5,4,3,3]请写出一个函数,找出该列表中没有重复的数的总和
3.什么是函数的递归调用?书写递归函数需要注意什么?你能否利用递归函数打印出下面列表中每一个元素(只能打印数字),l = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
4.你所知道的前端框架和实用插件有哪些,他们各有什么特点
5.使用bootstrap需要注意什么,常用的bootstrap样式有哪些

0102

今日考题
1.列举你所知道的PEP8 Python编码规范

PEP8规范主要从X个方面提出建议
缩进、行的最大长度、空行、import导入、注释、约定俗成的命名约定、编程建议
https://www.python.org/dev/peps/pep-0008/
PEP8规范


2.求结果(易错题)
v1 = 1 or 3
    v2 = 1 and 3
    v3 = 0 and 2 and 1
    v4 = 0 and 2 or 1
    v5 = 0 and 2 or 1 or 4
    v6 = 0 or Flase and 1
3.简述字符编码发展史,以及你所知道的字符编码码,每个字符编码表的在表示数字和字符关系的时候区别
4.简述数据库表设计中一对一、一对多、多对多的应用场景,char与varchar的区别
5.jQ表单筛选器中(:checked)需要注意什么,样式操作都有哪些方法,属性操作方法以及针对checkbox和radio属性操作有何不同

1231

今日考题
1.现有三个普通函数a,b,c都需要用户登陆之后才能访问。现需要你写一个装饰器校验用户是否登陆,并且用户只要登陆一次其他函数在调用时也无需再校验
2.什么是进程,线程,协程,程序中如何依次创建/实现它们
3.js代码书写位置有几种,什么是事件,js如何绑定事件,常见的事件有哪些
4.什么是JQuery,它的基本语法是什么,如何才能顺利的应用jQuery的方法,jQuery查找标签的方式有哪些 

1230

今日日考
1.二进制转换成十进制:v = “0b1111011”
十进制转换成二进制:v = 18
八进制转换成十进制:v = “011”
十进制转换成八进制:v = 30
十六进制转换成十进制:v = “0x12”

十进制转换成十六进制:v = 87

a1 = int('0x12', 16)
b1 = hex(a1)
b2 = bin(a1)
b3 = oct(a1)
print(a1)
print(b1)
print(b2)
print(b3)
十进制与其他进制的转化

2.简述可迭代对象,迭代器对象,生成器对象及应用场景
3.什么是元类?元类的应用场景有哪些,能具体说说吗?
4.你用的MySQL是哪个引擎,各个引擎之间有什么区别

MySQL支持的引擎有 1. MyIsam , 2. InnoDB, 3. Memory, 4. Blackhole

MySQL的默认数据库引擎在5.5版之前是MyISAM,5.5版之后是InnoDB。

MyISAM拥有较高的插入、查询速度,有表锁,但不支持事务,不支持外键。
MyISAM在磁盘上存储成三个文件。文件的名字以表的名字开始,扩展名指出文件类型。有.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。


InnoDB是一个事务型的存储引擎,有行级锁定和外键约束。是具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB在磁盘上存储成l两个文件ibd数据和索引; .frm存结构。


如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择。
如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率。
MySQL引擎的区别

5.什么是Js,Js的数据类型有哪些,Js序列化反序列化用的是什么方法

 20191228

 今日考题
1.什么是python的垃圾回收机制

1、引用计数机制
在 Python 中用到的一切变量,本质上都是类对象。当这个对象的引用计数值为 0 时,说明这个对象永不再用,自然它就变成了垃圾,需要被回收。

2、标记清除
当引用计数出现循环引用的时候,事实上,Python 使用标记清除(mark-sweep)算法和分代收集(generation al),来启用针对循环引用的自动垃圾回收。

分代回收:分为三代,新创建的对象放在新生代,若干轮清除之后如果没被回收,可以移到中年代,最后移到老年代,老年代不易被回收。
垃圾回收机制

2.你所知道的能够实现单例模式的方式有哪些,尝试着手写几个

主要整理了类的绑定方法、__new__、和元类
https://www.cnblogs.com/csic716/p/11958418.html
单例模式


3.列举python中常用模块及主要功能,越多越好!
4.什么是浮动,浮动的效果是什么,有没有坏处,如何解决
5.你所知道的定位有哪些,每个定位各有什么特点,列举哪些是不脱离文档流的哪些是脱离文档流的

20191227

今日考题
1.列举字符串,列表,元组,字典每个常用的五个方法

2.描述下列常见内置函数的作用可用代码说明map,zip,filter,sorted,reduce

3.列举你所知道的面相对象中的__开头__结尾的方法及作用,越多越好

4.写出form标签几个关键性的属性及作用

5.列举你所知道的所有css选择器

20191226  

今日考题(20分钟)
1.ascii,gbk,utf-8,gbk的区别

详见博客
https://www.cnblogs.com/csic716/p/11814281.html
编码方式

2.请用至少两种方式实现m与n值交换m=10,n=5

方式一
a,b = b,a

方式二
t = a
a = b
b = t
交换两个值

3.什么是深浅拷贝

对于不可变类型而言,深拷贝和浅拷贝最终的效果是一样的。
对于可变类型:
浅拷贝:是对一个对象的顶层拷贝,只拷贝了引用,没有拷贝内容,可变类型的变化会同时影响新旧两个对象。
深拷贝:重新拷贝了一份内容,重建了引用。彼此相互独立。
深浅拷贝


4.什么是HTTP协议

记住四大特性
https://www.cnblogs.com/csic716/p/12098135.html
HTTP协议


5.form表单中都有哪些标签及作用

主要了解下面代码的属性参数
<form action=" " target="_blank" enctype="multipart/form-data" method="post" ></form>
form表单的属性

20191225

今日考题(20分钟):
1.简述解释性语言和编译性的区别。

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。

解释则不同,解释性语言的程序不需要编译,解释性语言在运行程序的时候才翻译,他专门有一个解释器能够直接执行程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。 程序的执行效率低,但跨平台性优于编译型。
编译与解释的区别

2.列举你所知道的python2与python3之间的区别

Python2中默认使用ascii编码方式  导致 string 有两种类型 str 和 unicode,Python3中默认使用Unicode编码方式。

input的区别
Python3中用input全部当成str类型,Python2中用row_input才能实现python3中的结果,python2中的input,输入时候就要指定类型。

print的区别
python2中print是是一种输出语句,print直接跟要输出的内容;在python3中print是个函数,必须要加括号调用输出


Python 2中默认都是经典类,只有显式继承了object才是新式类
Python 3中默认都是新式类,经典类被移除,不必显式的继承object
新式类的MRO(method resolution order 基类搜索顺序)算法采用C3算法广度优先搜索,而旧式类的MRO算法是采用深度优先搜索



抛出异常与捕获异常
Python2
1. raise IOError, "file error" #抛出异常
2. except NameError, err: #捕捉异常
Python3
1. raise IOError("file error") #抛出异常
2. except NameError as err: #捕捉异常


python3列表生成式中的变量即使和外界重名,也不会影响外界的变量。(见附图);
python2和python3的区别

附图: https://www.cnblogs.com/csic716/gallery/image/278565.html


3.什么是匿名函数。匿名函数一般结合什么一起使用,请列举几个常用的

匿名函数指一类无须定义标识符的函数。Python用lambda语法定义匿名函数,只需用表达式而无需申明。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。
但通常都是在定义lambda函数的同时将其应用作为参数传递给另一个函数,该函数在其处理过程中对lambda定义的函数进行调用。
匿名函数
博客里有两篇,一则以max、min、sorted;一则以map、reduce、filter

https://www.cnblogs.com/csic716/p/11867949.html
匿名函数结合内置函数使用

4.什么是TCP三次握手四次挥手

讲解的十分详细,将SYN、FIN、seq、ack、的含义讲解得非常清晰,配图很精彩,最后的2MSL讲解也很全面

https://blog.csdn.net/qq_38950316/article/details/81087809
三次握手和四次挥手

5.什么是GIL全局解释器锁

全局解释器锁(Global Interpreter Lock)是python解释器用于同步线程的工具,使得在同一进程内任何时刻仅有一个线程在执行。

一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。
什么是GIL

Python的安装以及pip的配置及命令

1、到官网下载可执行的Python文件
2、下载完之后将python.exe所在的文件路径添加到系统环境变量里

3、关于pip的使用,当存在多个版本的Python时候,使用如下命令

pythonxx  -m  pip install XXX   ### 其中,pythonxx是Python.exe修改之后的文件名,以便在命令行中区分Python各个版本。通过pip下载的包,存放在Libsite-packages中。
Python安装及pip使用方式
用清华园的较多
windows下:
1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:Users电脑用户AppDataRoaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、新增 pip.ini 配置文件内容
内容就写两行如下:(也可以尝试最底下的配置文件)

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

----------------------------------------------------------------------------------------
此外,如果是Mac或者Linux

1、在用户根目录下 ~ 下创建 .pip 隐藏文件夹,如果已经有了可以跳过
    -- mkdir ~/.pip
2、进入 .pip 隐藏文件夹并创建 pip.conf 配置文件
    -- cd ~/.pip && touch pip.conf
3、启动 Finder(访达) 按 cmd+shift+g 来的进入,输入 ~/.pip 回车进入
4、新增 pip.conf 配置文件内容(清华园)
内容为:

"""
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors =true
mirrors =https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host =pypi.tuna.tsinghua.edu.cn
"""

pip的默认下载地址配置
pip的默认下载地址配置

顶一下

原文地址:https://www.cnblogs.com/csic716/p/12108800.html