python的数据类型:
1.python类的默认的那些方法都是双线划线的,这个必须非常注意,如:
初始化方法这样写:__init()__ 是正确的
这样写_init()_ 是错误的。能看得出区别?
2.注释的快捷键是 Ctrl+E
3.在Geany中编译python3时,如果有添加中文注释会报错:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte
那就要项目的每一个文档都要设置为UTF-8编码:
在新建文件直接使用UTF-8编码格式,只需对Geany软件进行如下设置:
在菜单栏中选择“编辑”中的“首选项”,对“首选项”中的“文件”中的“编码”设置成 Unicode(UTF-8)
4.如何查找两个列表的交集?
集合set是一个无序且不重复的元素集合。set = { }
列表list由一系列 按特定顺序排列的元素组成,是有序集合,可以对列表增、删、改。list = [ ]
元组是不可变的列表。list = ( )
方法一:
通过把list转换成set,通过求set的交集,
如set1 = set(list1), set2 = set(list2)
交集是:set3 = set1 & set2
方法二:
通过遍历列表的方法,由于列表有重复元素,通过遍历,出来的元素中会有重复的元素。把list转换set就会把重复值去掉了。
list3 = []
for i in list1:
for k in list2:
if i == k:
list3.append(i)
print(list3)
方法三:把两个列表合成一个列表,直接计算每一个元素出现的次数。
list4 = list1 + list2
list5 =[]
set4 = set(list4)
for i in set4:
if list4.count(i) > 1:
list5.append(i)
print((i,list4.count(i)))
5.文件操作
5.1 读取文件
with open('f.txt') as file_object:
contents = file_object.read()
print(contents)
with open('f.txt') as file_object:
lines = file_object.readlines()
for line in lines:
print(line.rstrip())
with open(filename) as f_obj:
for line in f_obj:
print(line.rstrip())
5.2 写入文件
#全新写入
with open(filename,'w') as f_obj:
f_obj.write("tttttt.\n")
f_obj.write("ffffff.\n")
#附加写入
with open(filename,'a') as f_obj:
f_obj.write("tttttt.\n")
f_obj.write("ffffff.\n")