爬虫框架还是 python 专业啊,一直在用 java, 现在决定尝尝鲜,先学 python,再学数据采集,爬虫框架。
okay,带着问题,先从 python 开始学起。
1. python 如何引用其他的文件?
python 是以模块的形式导入其他文件的。
什么是模块?模块就是包含一组相关函数的文件。
先创建一个 moduletest 文件
#!/usr/bin/env python3 # -*- coding: utf-8 -*- 'a moule test example 这里是模块的文档注释,任何模块的 first string 就被当做是模块的文档注释' # 这里 __author__ 是表示作者,当公开源代码后别人就可以看到你的名字 __author__ = 'reycg' # 定义一个方法 def test(): print('hello') # 当在命令行中运行该模块文件时, # python 解释器就会把一个特殊变量 __name__ 设置为 __main__, # 如果在其他地方导入 if 判断就会失败。这种 if 测试的常见用途就是单元测试. if __name__=='__main__': test()
在一个新 python 文件中调用这个模块。
1. 先使用 import 将模块导入
2. 通过指定模块名称和函数命令,中间中句点(.)的方式调用它
import moduletest moduletest.test()
运行该文件成功的得到 hello 输出,完美~
2. python 的各种规范
- 变量命名:以字母开头,单词之间使用下划线分隔,如 test_item
- 脚本名称:以 .py 结尾
- 注释:以 # 号开头
- 字符串尽量使用单引号包含,只有特殊情况(如文本中又包含引号)的情况下才使用双引号
3. 如何添加一个新函数?
# 定义一个函数 # def 是关键字,接下来就是函数的定义 # 第一行是函数头,后面是函数体 def test(): print('hello') # 从这行开始是函数体,函数体应该整体缩进一级 print('world')
4. 字符串有哪些有用的方法?
下面只是 python string 的部分方法介绍,完整方法可参见 https://docs.python.org/3.6/library/stdtypes.html#string-methods
# 字符串就是一个序列,也就是由其他值组成的有序集合 # 这里可以把 fruit 看做是一个 java 数组 fruit='apple' print(fruit[0]) # 获取字符串的长度 print(len('banana')) # 对字符串遍历,有两种, 推荐使用 for 这种 for letter in 'banana': print(letter) # 此处别忘了缩进 vegetable = 'tomato' index = 0 while index < len(vegetable): letter = vegetable[index] print(letter) index += 1 # 和 java 一样,字符串是不可变的 # test_str = 'lalala' # test_str[0] = 'o' # 上面信息会报错,错误信息如下 # TypeError: 'str' object does not support item assignment # 对字符串分割 split_str = 'a-b-c-d' print(split_str.split('-')) # 拼接字符串 join_str_list = ['a', 'b', 'c', 'd'] print('-'.join(join_str_list)) # 这里就是用 - 拼接后的值
# 查看子字符串是否包含在字符串中
child_str = 'abc'
print('abcd'.find(child_str)) # 如果存在就返回首字母下标,不存在返回 -
5. python 如何读写文件?
# 当读取文件或写入文件时,默认会在当前目录寻找它 # 写入文件 # 使用 w 模式来打开, 如果文件已经存在 # 会将文件内的旧数据清除掉,并重新开始写入 fout = open('output.txt', 'w') testline = 'this is a test line' charLength = fout.write(testline) # 返回值是写入的字符数量 print(charLength) # 写入的参数必须是字符串才可以 x = 123 fout.write(str(x)) fout.close() # 写入后应该关闭文件,如果不关闭问,只能在程序执行结束的时候关闭 # 读取文件 fread = open('output.txt', 'r') # 使用 r 模式打开,只能读取文件 print(fread.read()) fread.close()
5. python 如何处理 json
扫描二维码关注公众号,回复:
3879535 查看本文章
# 导入 json 库 import json # json.dumps # 将 python 对象编码成 json 字符串 modelDict = { 'name': '大众朗逸', 'brandName' : '大众', 'id': 1 } outputModelJson = json.dumps(modelDict, ensure_ascii=False) print('dumps model dict' + outputModelJson) # 写入 model.json 文件 fout=open('model.json', 'w', encoding='UTF-8') fout.write(outputModelJson) fout.close() # json.loads 将已编码的 json 字符串解码为 python 对象 finput=open('model.json', 'r', encoding='UTF-8') inputModelJson = finput.read() inputModel = json.loads(inputModelJson) print(inputModel['name'])