0x21 python基础,兴趣为主
Posted liu247
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0x21 python基础,兴趣为主相关的知识,希望对你有一定的参考价值。
01数据结构
1.变量的三种基本类型:
1. 整型(int)
2. 字符串型(string)
3. 浮点型(float)
我们可以使用type()来打印出变量的类型
2.另外四种重要类型
1.集合(set)
2.列表(list)
3.元组(tuple)
4.字典(dict)
set和dict内置哈希算法所以查找速度很快
02文件读写
1 gt100 = open(‘/home/liuyang/Desktop/01-自由之光/file.txt‘,‘w‘) 2 for line in open(‘/home/liuyang/Desktop/01-自由之光/data.txt‘): 3 #逐行读取 4 line = line.strip() 5 #去掉/n 6 id_,name,score = line.split() 7 # 以空格为分界线 分别赋值给三个变量 8 print(‘id: name: score:‘.format(id_,name,score)) 9 # 打印 10 gt100.write(‘,,\n‘.format(id_,name,score)) 11 # 逐行保存
以后这用简单的数据使用awk将会更快
03使用模块
1.第三方模块
sys,re,等等
如果你要进行Web开发使用 django,flask等等
2.自己的模块
import my_py_name as mp
引用方法 mp.calc()
04函数式编程
nums = [1,2,5,8,10] gt5 = filter(lambda v: v>5,nums) # filter的参数 一个函数,一个列表 # 这个高阶函数对第二个参数每个元素都使用 如果满足True保留元素 不满足则继续迭代 list(gt5) # 列表生成器 gt6 = [i for i in nums if i>6] print(gt6) # 翻倍操作 gt10 = [i for i in nums if i%2==0] print(gt10)
__init__ 相当于java 的构造函数
05一道面试题+测试思想
对两个排过序的列表进行合并,法一:sorted方法 法二:自己编一个
# 一个比较难的面试题 a = [1,1,3,4,4] b = [2,3,4,6] def combin_sort_1(a,b): # 使用集合求并集 return sorted(set(a)|set(b)) def combin_sort_2(a,b): res = list(set(a)) for _b in b: # 去除重复的元素 if _b in res: continue for (idx,_a) in enumerate(res[:]): # 这一个函数不能作用与集合 # enumerate 这个函数返回 第一元素的位置 和元素值 if _b > _a: # 如果已经到了列表的末尾了 if idx == len(res)-1: res.append(_b) else: continue else: res.insert(idx,_b) break return res print(combin_sort_2(a,b)) print(combin_sort_1(a,b))
# 代码测试的思想 import random def main(): # 随机生成两个长度不等的列表,并且进行排序 # random.sample(范围,个数) frist = sorted(random.sample(range(100),random.randint(3,6))) second = sorted(random.sample(range(100),random.randint(3,6))) comb_1 = combin_sort_1(frist,second) comb_2 = combin_sort_2(frist,second) # 对比两个方法的结果 #print(comb_1) #print(comb_2) assert comb_1 == comb_2 # 如果结果不一样就会报错 if __name__ == ‘__main__‘: for i in range(100): main() print("测试成功")
总结
1.利用集合的思想,直接求并集,达到去重的目的,在利用sorted函数进行排序
2.列表的简单操作insert,append
3.random.sample 参数范围,列表元素e个数
4.在遍历列表时,如果要改变列表就需要res[:]来复制数据
5.assert的测试思想
6.__main__的使用
以上是关于0x21 python基础,兴趣为主的主要内容,如果未能解决你的问题,请参考以下文章
零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)
如何解决 C++Builder 中的链接器错误“LIBCURL.LIB 包含无效的 OMF 记录,类型 0x21(可能是 COFF)”?