1. 解释型语言和编译型语言的区别
-
编译型语言: 将程序编译成二进制可执行程序(C、C+++)
-
解释型语言: 将程序逐行解释运行(python)
Java不是将源程序直接编译机器语言,而是编译成字节码文件,然后用解释方式执行字节码
2 . python中的字符串、列表、元组和字典
-
字符串(str) : 由引号包含的任意文本
-
列表(list):列表是有序的集合,内部元素可以改变
-
元组(tuple):元组也是有序集合,但内部元素无法改变
-
字典(dict):字典无序集合,内部元素由键值对组成
-
集合(set):key的集合,每个元素都是唯一的,所有元素不重复且无序
3 .字符串常用方法
-
切片:"str"[0:1]
-
format:"str{str}"format(str="str")
-
join:'-'.join(['str1', 'str2'])
-
String.replace(old, new, count):将字符串中的old字符替换为new字符, count为替换个数
-
split:切割字符串,得到一个列表
4. 列表常用方法
-
切片:和字符串切片方法相同(切片操作为浅复制操作)
-
append:向列表中添加元素
-
extend:将一个可迭代对象添加到列表末尾
-
del:根据下标进行删除
-
pop:删除列表最后一个元素
-
remove:根据元素值进行删除
-
sort:将列表默认从小到大顺序进行重新排列,参数reverse=true可更改为倒序排列
-
reverse:将列表翻转
5.字典常用方法
-
dict.clear():清空字典
-
dict.pop(key):删除字典中的某一项
-
遍历字典
dict1 = {'key1': 1, 'key2': 2} key = [key for key in dict1] print(key) # ['key1', 'key2'] value = [value for value in dict1.values()] print(value) # [1, 2] key_value = [(key, value) for key, value in dict1.items()] print(key_value) # [('key1', 1), ('key2', 2)]
-
fromkeys:创建字典
keys = ['key1', 'key2'] dict1 = dict.fromkeys(keys, 0) print(dict1) # {'key1': 0, 'key2': 0}
6. python中的字符串编码
-
encode():将字符串编译成指定bytes
-
decode():将bytes编码成字符串
7. 数值交换
a, b = 1, 2 a, b = b, a
8. is 和 == 的区别
-
is:判断对象之间的内存地址是否一致(对象的内存地址可以通过id()方法查看
-
==:只判断对象的值是否一致
9.python函数中的参数类型
位置参数、默认参数、可变参数、关键字参数
10. *arg和**kwarg的作用
-
*arg:将位置参数转换为tuple
-
**kwarg:将关键字参数转化为dict
11.获取当前时间
datetime.datetime.now()
time.strftime('%Y-%m-%d %H:%M:%S')
12.PEP8规范
-
尽量避免使用容易混淆的字符
-
函数命名全部使用小写,可以使用下划线
-
常量命名全部使用大写,可以使用下划线
-
使用has或is前缀命名布尔元素,如is_connect = True
-
不要使用反斜杠连接行
-
方法定义之间空一行
-
如果一个类不继承自其他类,就显式的从object继承
-
内部使用的类、方法或变量需要加前缀_表示内部使用
13. python的深浅拷贝
-
深拷贝:深拷贝会将原对象的引用对象重新复制一份,修改原对象不会对拷贝对象产生影响
-
浅拷贝:只复制原对象的所有引用对象,修改原对象会对拷贝对象产生影响