Python学习汇总
- 元组 列表 字典和集合的区别
1)列表:一个大仓库,你可以随时往里边添加和删除任何东西。
(2)元组:封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)
元组使用小括号,列表使用方括号。
元组没有pop、insert、append等对元组进行修改删除插入的方法或函数
元组中的元素值是不允许删除的,但列表元素值可以删除
元组中的元素值是不允许修改的,但列表可以。
字典:是键值对方式就数据存储下来,键必须是唯一的
键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。
集合特性:与字典类似,但只包含键,而没有对应的值,包含的数据不重复
2.接口和抽象类的区别(他们都不能实例化对象,都可以包含抽象方法,而且 抽象方法必须被继承的类全部实现):
1.抽象类是被子类继承,接口是被类实现
2.一个类可以实现多个接口,但只能继承一个抽象类
3.快速排序(https://blog.csdn.net/weixin_43250623/article/details/88931925)
从数列中挑出一个元素,称为"基准"(pivot),
重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。
4. Python 中的三元表达式如下语法:
[on true] if [expression]else [on false]
如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行
5. Python 中如何实现多线程?
线程是轻量级的进程,多线程允许一次执行多个线程。众所周知,Python 是一种多线程语言,它有一个多线程包。
GIL(全局解释器锁)确保一次执行单个线程。一个线程保存 GIL 并在将其传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在 CPU 上。当然,所有传递都会增加执行的开销。
6. 解释继承
一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)。
继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python 支持以下类型的继承:
1. 单继承- 一个子类类继承自单个基类
2. 多重继承- 一个子类继承自多个基类
3. 多级继承- 一个子类继承自一个基类,而基类继承自另一个基类
4. 分层继承- 多个子类继承自同一个基类
5. 混合继承- 两种或两种以上继承类型的组合
7. 如何将字符串转换为小写?
使用 lower() 函数
‘ayushi’
转换为大写用 upper() 函数
‘AYUSHI’
要检查字符串是否为全大写或全小写,使用 isupper() 和 islower() 函数
8.如何删除字符串中的前置空格
前置空格是第一个非空格字符前的所有空格,使用 lstrip() 函数来删除.
‘Ayushi ‘
如图这个字符串既包含前置空格也包含后置空格. 调用 lstrip() 函数去除了前置空格。如果想去除后置空格,使用 rstrip() 函数。
‘ Ayushi’
9.Python 中标识符的命名规则?
Python 中的标识符可以是任意长度,但必须遵循以下命名规则:
1. 只能以下划线或者 A-Z/a-z 中的字母开头。
2. 其余部分只能使用 A-Z/a-z/0-9。
3. Python 标识符区分大小写。
4. 关键字不能作为标识符。Python 有以下这些关键字
10.解释 Python 中的//,%和**运算符
//运算符执行地板除法,返回结果的整数部分 (向下取整)。
3
用/符号除法结果为 3.5。
**符号表示取幂. a**b 返回 a 的 b 次方
1024
% 是取模符号。返回除法后的余数。
6
浙公网安备 33010602011771号