python基础
1. python中如何交换两个变量的值? def swap(a,b): temp = a a = b b = temp print(a,b) def swap2(a,b): a,b = b,a print(a,b)2. print的方法
def print(value, ..., end,..., flush) end 结尾符号,默认"\n" flush 是否刷新缓冲区数据到控制台,python的print,默认是将数据写入缓冲区,缓冲区有默认大小,只有数 据大小超出缓冲区限制或者遇到换行符才会写入到控制台
import time def main(): for i in range(10): print("*",end="") time.sleep(1) if __name__ == '__main__': main()
3. 简述你对input()函数的理解? 在Python3中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。 在Python2中有 raw_input()和input(), raw_input()和Python3中的input()作用是一样的, input()输入的是什 么数据类型的,获取到的就是什么数据类型的。
4. 快速推导式
a = [] for i in range(10): a.append(str(i)) print(a) a = [int(x) for x in a] print(a) a=[("张三",18),("赵四",19),("王五",20)] c = {x[1]:x[0] for x in a} print(c)
5. range和xrange的区别? python2中有range和xrange, range返回的是一个列表,而xrange的结果是一个生成器,前者是直接开辟一 块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表 很长时,使用xrange性能要比range好 python3中range返回的其实是一个可迭代对象(类型是range对象),而不是列表类型。
6.字符串和列表转换
#字符串转列表 str1="abc" list1 = list(str1) print(list1) str2 = "a-b-c" list2 = str2.split("-") print(list2) # 列表转字符串 list3 = ['a', 'b', 'c'] str3 = "".join(list3) print(str3) # 以下代码会打印什么? list4 = [1, 2, 3] str4 = "*".join(list4) print(str4)
7.文件读写 由于文件读写时都有可能产生IOError,一旦出错,为了保证无论是否出错都能正确地关闭文件,python中建议使用with open的方法去操作文件
with open(file,mode,encoding) as f:
注意:encoding默认为运行的操作系统的编码 建议根据文件或数据类型选择合适的mode 'b'二进制类型 'r'只读 'w'可读可写
with open("1.txt","r",encoding="utf-8") as f: # 读取整个文本 f.read() # 按行读取文本,返回一个生成器对象,每调用一次读取一行 f.readline() # 按行读取文本,返回一个列表,包含了整个文本内容 f.readlines()