喜欢Python的小伙伴,希望本篇文章可以给你带来帮助!^.^
看到最后,给自己一个学习的基地!不管你是大佬还是小白,一起学习共同进步!感谢大家一直来的支持!
1、python的read() 、readline()、readlines()、xreadlines()
- read()会读取整个文件,将读取到底的文件内容放到一个字符串变量,返回str类型。
- readline()读取一行内容,放到一个字符串变量,返回str类型。
- readlines() 读取文件所有内容,按行为单位放到一个列表中,返回list类型。
- xreadlines()返回一个生成器,来循环操作文件的每一行。
2、*arg和**kwarg作用
定义函数时,使用*arg和**kwarg *arg和**kwarg 可以帮助我们处理上面这种情况,允许我们在调用函数的时候传入多个实参 def exmaple2(required_arg, *arg, **kwarg): if arg: print "arg: ", arg if kwarg: print "kwarg: ", kwarg exmaple2("Hi", 1, 2, 3, keyword1 = "bar", keyword2 = "foo") >> arg: (1, 2, 3) >> kwarg: {'keyword2': 'foo', 'keyword1': 'bar'} 从上面的例子可以看到,当我传入了更多实参的时候 *arg会把多出来的位置参数转化为tuple **kwarg会把关键字参数转化为dict
3、Python写9*9乘法表的两种简单方法
1 for i in range(1,10): 2 for j in range(1,i+1): 3 print("%s * %s = %s" %(j,i,i*j),end="") 4 print("")
print "\n".join("\t".join(["%s*%s=%s" %(x,y,x*y) for y in range(1, x+1)]) for x in range(1, 10))
4、如何安装第三方模块?以及用过哪些第三方模块?
pip install 模块名
一、Python爬虫
1. 请求
requests(第三方模块)
2. 解析:
bs4(即beautifulsoup,第三方模块)
3. 储存:
pymongo(第三方模块):
把数据写入MongoDB
MySQL-python(第三方模块):
把数据写入MySQL里面。
协程:gevent(第三方模块)
二、Python数据分析&科学计算
numpy(第三方模块,C拓展):
Copy了MATLAB的数据结构。很多数据分析和科学计算库的底层模块。提供了良好的数组数据结构和C拓展接口。
pandas(第三方模块,C拓展):
Copy了R的data frame的数据结构。
5、列举 Python2和Python3的区别
- input
1 问题:如何获取编码方式的信息? 2 获取目标bytes的编码方式 3 这一情况可以通过chardet模块的detect()函数来获取信息,chardet是第三方库,可以通过pip来安装 4 5 b是待检测的bytes变量 6 7 import chardet 8 print(chardet.detect(b)) 9 ######output#### 10 {'confidence': 1.0, 'encoding': 'ascii'} 11 1 12 2 13 3 14 4 15 5 16 confidence是指匹配程度,encoding是指可能的编码方式 17 18 获取当前环境的编码方式 19 这一情况可以使用sys模块下的getdefaultencoding()函数来获取信息 20 21 import sys 22 print(sys.getdefaultencoding()) 23 24 ######## output##### 25 utf-8
- 问题在控制台上看到的到底是什么
1 写上面的东西的时候产生了一个疑问,现在已经知道Python内部存储str的方式是使用unicode字符集,但是我们在屏幕上看到的并不是unicode字符集 3 s = "你好" 4 print(s) 6 #########output############# 7 你好 13 s的 unicode 是 \\u4f60\\u597d 14 1 15 那么,这中间应该是进行了某种转换 16 实际上,在执行print(str)的时候,python内部执行了encoding操作,控制台拿到的其实是一个bytes变量 17 之后,控制台又根据环境内部的编码方式,将所得到的bytes内容进行decoding的操作,就显示了原先str的内容
- 打开文件不再支持 file 方法,只能用 open
- range不再返回列表,而是一个可迭代的range对象
- 除法 / 不再是整除,而是得到浮点数,整除需要用双斜杠 //
- urllib和urllib2合并成了urllib,常用的urllib2.urlopen()变成了urllib.request.urlopen()
- 字符串及编码相关有大变动,简单来说就是原来的str变成了新的bytes,原来的unicode变成了新的str。
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并点击:“资料”即可领取。