基础知识的范围是,python语法、基本数据类型、函数、类定义和使用,涉及一些原理性的知识点,会不断补充,争取能全方面的概括出以上内容,能提炼出的问题,用于检查或帮助python使用者、学习者更好的了解学习python。

基本语法

基础语法包括变量定义,代码缩进,函数类的定义,自己回忆是否掌握牢记。

分支结构

if-elif-else

分支判断的是布尔值,python里布尔值有哪些?

match-case

Q:什么情况下适合使用match语句?
A:当把一个值与多个常亮进行比较时,更适合使用match语句。
Q:match语句在那个python版本出现的?
A:3.10
Q:match语句中,如何在一个模式中,组合多个字面量?
A:使用 |case 401 | 403 | 404:
Q:match语句中_的作用是什么?
A:在match语句中,_被作为通配符使用,意味着case _:一定会匹配成功。
Q:如果case没有匹配成功,会出现什么情况?
A:没有匹配成功,将不会执行任何分支。
Q:match的特性有哪些?
A:

循环结构

for-in-else

Q:for循环接受什么变量,这种变量都拥有什么方法,才能够进行for循环。
A:
Q:for循环中定义的用来接收循环产生数据的变量,它的作用域是?
A:
Q:for循环的else子句在什么条件下执行?什么场景下可能用到for循环的else子句?else子句里的变量作用域是?
A:else子句在for循环中可迭代对象中的元素全部循环完毕时执行;
Q:for循环体内的变量作用域是?
A:
Q:for终止循环、跳出循环、跳过当次循环,怎么实现?
A:

while-else

Q:while的执行条件判断逻辑是?
A:
Q:while终止循环、跳出循环、跳过当次循环,怎么实现?
A:
Q:while语句的else子句在什么情况下执行?
A:当while循环的条件为假时。
Q:while循环体内的变量作用?
A:
Q:while循环的条件,他的变量作用域是?
A:
Q:while循环接受什么变量,这种变量都拥有什么方法,才能够进行while循环。
A:

pass

Q:pass语句的作用是?
A:pass语句不执行任何操作,通常作为函数或条件子句的占位符来使用。

字符串

Q:python里字符串定义有几种方式,有什么需要注意的点?有什么区别?
A:可以通过''或""定义单行字符串,''和""必须成对出现,且在一个语句中,不能出现两对''或"",使用''' '''或""" """定义多行字符串,多行字符串会保留字符串的格式,比如换行符。python字符串末尾默认有换行符。还可以使用工厂函数,string()来定义字符串。
Q:拼接字符串的方法?有什么区别?
A:+运算符拼接,''.join()进行拼接;区别是join更快一些。
Q:字符串切片如何使用?
A:string[切片开始位置,默认是0:切片结束为止,默认是字符串结尾],字符串切片是左闭右开,意思是包含开始位置,但不包含结束位置索引的字符串。
Q:字符串切片是浅拷贝还是深拷贝?
A:浅拷贝。
Q:字符串对象有哪些内置方法?
A:自己查看字符串对象的方法,有必要背诵下来。
Q:字符串支持那些运算符?
A:

列表

Q:列表定义的方式有几种?
A:3种,[]定义或list()定义或列表推导式。
Q:列表的特点是什么?
A:列表的特点是可随意增减列表长度,可以把不同的对象保存在列表中。
Q:列表的底层数据结构是什么?
A:
Q:列表对象的方法有哪些?
A:有必要背下来。
Q:列表切片操作?
A:与字符串切片一样的规则。
Q:列表切片是浅拷贝还是深拷贝?有什么影响?
A:浅拷贝,浅拷贝相对于深拷贝节省内存空间。

元组

Q:元组的定义方式有几种?
A:3种,(),tuple(),元组推导式,需要注意的是,如果元组种,只有一个元素,需要在那一个元素追加逗号。
Q:元组与列表有什么不同?
A:元组是不可变类型,所以不能直接修改元组内的元素。其他与列表相似。
Q:元组的值真的不能修改么?
A:一维元组的值,不可以修改。二维元组种,如果元素是列表,那么可以更改列表中的值,但不能更改列表这个元素的类型。

字典

Q:字典的定义方式有几种?
A:3种,{}dict()或字典推导式
Q:字典取值有几种方式?如果视图取一个不存在的值会怎样?
A:dict[key]或dict.get(key);dict[key]如果key不存在会抛出KeyError,dict.get(key)如果不存在,会返回一个None。
Q:修改字典内容的方法?
A:
Q:字典中的键值对顺序是固定的么?
A:
Q:字典对象的方法有哪些?
A:有必要背下来。
Q:字典对象参与循环,需要用到什么方法?
A:dict.keys(), dict.values(),dicr.items()

函数

Q:函数定义的关键字是什么?
A:def
Q:相比面向过程编程,使用函数有什么作用?
A:使用函数可以解决代码重复的问题,把相同功能的代码使用函数定义,提高了代码可读性和美观度。
Q:函数的参数类型有哪些?当它们同时出现时,对顺序有什么要求?
A:函数的参数类型有,关键字参数,位置参数、args、**kwargs;当它们同时出现时,位置参数必须最先定义,之后是关键字参数,最后是任意位置参数args和任意关键字参数kwargs。
Q:*args和
kwargs如何取值?
A:
Q:函数内如何定义全局变量?
A:使用global关键字定义。
Q:函数没有定义返回值时,返回值是什么?
A:
Q:函数使用return语句,但没有指定return的内容,这时,返回的内容是什么?
A:
Q:如何导入一个函数?有几种方式?如果导入的函数在当前py文件存在同名函数,会怎么样? 如何解决?
A:使用from 模块名 import 函数名import 模块名,第一种方式只会导入指定的函数,第二种方式会把模块中的所有函数和属性导入;如果存在同名函数,且在同名函数定义后调用,执行时将调用本地同名函数,反之,在定义之前调用,则执行导入的同名函数;可以使用as在导入时,给同名函数重命名,避免这个问题。
Q:函数在调用时,如果没有传递足够的参数,会发生什么?
A:抛出异常,TypeError。

Q:类是如何定义的?
A:使用class关键字,后面跟类名和在圆括号中类参数,之后加上:号,以及类的代码体。
Q:object是所有类的基类么?
A:在Python3中,object是所有类的基类。
Q:什么是经典类,什么是新事类?
A:新式类默认继承object,子类可以调用基类的方法;经典类是没有继承的类,所有类型都为type类型。
Q:多继承情况下哎,类的继承顺序,遵守什么原则?
A:类的继承顺序,当类为经典类时,深度优先,当为新式类时,广度优先。
Q:多继承情况下哎,方法解析顺序?
A:在类的多继承情况下,方法解析顺序,遵守c3方法。
Q:如何实例化一个类?
A:
Q:类的实例化过程,尽量讲清楚。
A:
Q:类属性如何定义?
A:
Q:类方法如何定义?
A:
Q:类方法和实例化方法有那些区别?
A:
Q:多个类实例指向的类方法是同一个么?
A:
Q:如何调用父类的方法?
A:
Q:如何设置私有的类属性?
A:
Q:如何设置私有的实例化属性?
A:
Q:类中的静态方法如何定义?
A:
Q:类方法如何定义?
A:

面向对象

Q:什么是类的封装?有什么作用?
A:
Q:什么是类的继承?有什么作用?
A:
Q 什么是类的多态?如何实现?有什么作用?
A:
Q:类中有哪些魔法方法?
A: