当前位置: 首页 > news >正文

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`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。

相关文章:

  • 人工智能实践:Tensorflow笔记(二):TensorFlow框架
  • HTTPS 与 SSL
  • Windows的口令文件SAM
  • Windows组策略
  • Windows启动文件夹与设置开机自启动脚本/软件开机自启
  • Windows任务计划程序
  • WSH和FSO
  • Windows修改注册表实现开机自启动
  • ActiveX
  • 操作系统市场份额
  • desktop.ini和folder.htt
  • 人工智能实践:Tensorflow笔记(三):神经网络优化
  • Python网络爬虫与信息提取(一)(Wing Canopy)
  • Python网络爬虫与信息提取(二):网络爬虫之规则(Requests库 Robots规则)
  • Windows防火墙添加禁用规则——以禁用微信为例
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2019.2.20 c++ 知识梳理
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mysql中InnoDB引擎中页的概念
  • swift基础之_对象 实例方法 对象方法。
  • TypeScript迭代器
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 给第三方使用接口的 URL 签名实现
  • 回顾2016
  • 记录:CentOS7.2配置LNMP环境记录
  • 入口文件开始,分析Vue源码实现
  • 使用 @font-face
  • 通过npm或yarn自动生成vue组件
  • 【干货分享】dos命令大全
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #162 (Div. 2)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (十八)SpringBoot之发送QQ邮件
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • ***原理与防范
  • **python多态
  • 、写入Shellcode到注册表上线
  • .NET : 在VS2008中计算代码度量值
  • .NET Core 中插件式开发实现
  • .NET MVC第三章、三种传值方式
  • .NET/C# 的字符串暂存池
  • @基于大模型的旅游路线推荐方案
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [ 转载 ] SharePoint 资料
  • [20171106]配置客户端连接注意.txt