Python相关知识

python的变量是不需要事先声明和定义类型的

Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法

1、python没有i++自增自减,但是有--i,却也不是自增自减的意思,仅仅是作为判断运算符号,类似数学中的负负得正

     可以用i+=1,i-=1

2、python的turtle海龟模块——画画

for i in range(0,4):
    t.forward(100)
    t.left(90)

3、模块和包

模块,是函数的集合

多个模块放在一个目录,就是包

包>模块

from PIL import image        从PIL包中导入image模块

import和from import的区别

两个import语义有差异

      import datetime

      print(datetime.datetime.now())

是引入整个datetime包

     from datetime import datetime

     print(datetime.now())

是只引入datetime包里的datetime类

所以import之后前者是datetime这个包可见 后者是datetime.datetime这个类可见

python导入自己写的模块,那个模块必须要在package里面,是python package的文件夹里面有个__init__.py,不是简单新建一个文件夹就行了

4、除和整除

python中,除是/,整除是//

整除,取余都对浮点数也适用

python乘方运算

        **乘方运算

5、python中,None必须大写

None也是一个元素,

      num2=[None]

      print(len(num2))

会输出1

6、Scrapy框架

      Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。
      Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。

7、scapy包

      scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。它可以代替hping,arpspoof.ARP SK,arping,p0f,甚至是部分nmap,Tcpdump和tshark。

8、python中if __name__ == '__main__'

      模块是对象,并且所有的模块都有一个内置属性 __name__

      一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名(不带路径或者文件扩展名)。而如果像一个标准的程序样直接运行模块,那么 __name__ 的值就是"__main__"。

即:

      在cmd 中直接运行.py文件,则__name__的值是'__main__';

      而在import 一个.py文件后,__name__的值就不是'__main__'了;

      从而用if __name__ == '__main__'来判断是否是在直接运行该.py文件

由于python不像C/C++和Java一样有主函数,所以就用这个机制来区分主执行文件还是被调用的文件

9、python读入

 读入是input

      n=input()

 读进来默认是字符串型的,用整形的话需要转一下

      n=int(n)

在python3.x以后就没有raw_input了

10、python函数可以没有返回值,就是过程

     也是def

12、range()是左闭右开

     for i in range(1,5)

          是输出1,2,3,4

13、 python全局变量 global

     全局变量在使用之前就要声明,声明全局变量使用关键字 global,然后在使用该全局变量之前,再次声明

14、python输出不换行

       print(a[i],end=" ")

16、python初始化一个定长的数组

      b = [0]*10

18、python的字典dictionary的遍历不能用dict[0],dict[1]这样

它没有这种顺序

19、python字典&列表&元组

字典
dict = {}

列表
list = []

元组
tup = ()              //tuple是不可变的list, 其中的元素也可以是任意类型的Python对象

tup = 1,2,3,4,5

元组中的元素是不能修改的,列表和字典可以

字典添加元素直接添加就可以,列表需要list.append()

20、python的数组就是列表

21、python查看矩阵/列表/字典/元组大小

24、python 查看对象的属性和方法

dir方法

print(dir(obj))  obj为对象名, 此命令打印对象所有属性和方法

29、python输出有省略号解决

import numpy as np
np.set_printoptions(threshold=np.inf)

30、python图片转为矩阵

import numpy as np
from PIL import Image
im = Image.open('test.jpg')
img = np.array(im)

31、2维矩阵就是一张表

      就是ndim=2的

     a[0]是输出其第0行

33、try…finally…

      当执行一大串代码时,一旦程序代码中某一个部分出错,就会立即停止,同时剩下的其他代码也不会再继续执行了。这就会有一个问题,如果在剩下未执行的代码中有一些事是必须要执行的,比如释放之前分配的内存等等,而因为报错导致之后的代码无法执行,这就会带来内存泄漏等影响。

      所以使用try...finally...,在try中的代码无论是否出错是否运行被终止,都不会影响finally部分代码的运行。即无论如何finally部分的代码都会执行,这样就可以将一些必须要做的事情放在finally中保证他们的执行
 

34、 a = b'some byte array'

字节串

35、python中 r'', b'', u'的含义

r/R:非转义的原始字符串

r'input\n' # 非转义原生字符

b:bytes

b'input\n' # bytes字节符,打印以b开头。

u/U:表示unicode字符串

u'input\n' # unicode编码字符,python3默认字符串编码方式。

36、python 使程序输出不是科学计数法

import numpy as np
np.set_printoptions(suppress=True)

37、is not None

代码中经常会有变量是否为None的判断,有三种主要的写法:

 第一种是`if x is None`;

第二种是 `if not x:`;

第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) 。

这三种写法是有区别的

`if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值