分享

Python

 xiaoyimin 2019-10-17

喜欢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 ''.join(''.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的区别

  • print
  • 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 是 你好

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开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

著作权归作者所有

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多