python中的小知识点
这里是一些小知识点的汇集,为的是以后查找的方便。
行与缩进:
物理行:实际看到的代码行数。
逻辑行:在意义上的函数(即解释器执行的行数)
如果一个物理行中包含了多个逻辑行,则每个逻辑行之间需要用分号 “;” 隔开,最后一个逻辑行可以省略分号
一个逻辑行分为了多个物理行的话使用转义符 "\" 进行每个物理行之间的连接
缩进:逻辑行行首的空白,一般情况下行首不留空白
if和while语句的缩进:条件下的一个tab字符
运算符:
//:除法,向下取整
%:取余
&:二进制下的按位“与”运算
|:按位或
^:按位异或(不同为1,相同为0)
~:按位翻转 ~x=-(x+1)
<<:二进制左移,左移n个单位相当于乘以2^n
>>:二进制右移,右移n个单位相当于除以2^n
运算符优先级:
- 函数调用、寻址、下标
- 幂运算**
- 翻转运算
- 正负号
- * / %
- + -
- << >>
- & ^ |
- 比较运算符:> < >= <=
- 逻辑的 not and or
- lambda表达式
表达式和print执行的区别:表达式在命令行中输入单行命令,如:>>>a=“hello” >>>a 则会有’hello‘ 而如果是print(a),则是hello,不加引号。
map和列表解析的区别由以下代码可看出差异:
li =[x for x in range(1,11)] #列表解析
print(li)
def func(x):
return x+10
li2 = map(func,li) #遍历
print(list(li2))
强调一点的是map跟li是等长的,而列表解析则可以加筛选条件使其不等长。
5种 IO model
- blocking IO 阻塞IO
- nonblocking IO 非阻塞IO
IO multiplexing IO多路复用
signal driven IO 信号驱动IO
asynchronous IO 异步IO
同步、异步、io多路复用的区别
同步即一个io操作完成之后才能执行其他io操作,在等待过程中不能执行其他命令,而异步io则可以在启动io操作之后则跳到另一个线程,在该io操作发出执行完毕的操作后将再跳回执行该线程,可以节省等待的时间,但是如果io操作很简单且数量大时,同步比异步还相对省时。同步是执行中阻塞,异步非阻塞
异步和io多路复用的区别:当当前io操作执行完毕之后,异步会将数据传到内存里,等着你去调用,整个过程没有任何的阻塞,io多路复用是依然存在内核中,还需要去调取。io多路复用依然有阻塞,只是阻塞在select或epoll中而不是在select IO中,所以io多路复用并不是异步IO。但是异步的实现过程比较复杂,所以现在最常用的还是IO多路复用
做个不恰当的比喻来区分:
- 阻塞IO相当于你自己寄快递,从拿快递到送快递都需要你完成
- 非阻塞IO相当于你把快递给了快递公司,快递到了之后给你发个短信,你亲自跑去取
- IO多路复用则是你把快递给了很多个快递公司同时进行快递,一有快递则会通知你去取
- 异步IO则是你雇了一个人,让他去寄快递,快递到了之后他帮你取到家门口。
python中的小知识点的更多相关文章
- Python中的小括号()、中括号[]、花括号{}区别
Python中最常见括号的区别: 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. Python中的 ...
- python中的 小数据池 is 和 ==
1. 小数据池 一种数据缓存机制,也被称为驻留机制 小数据池针对的是:整数 , 字符 , 布尔值 .其他的数据类型不存在驻留机制 在python中对 -5 到256之间的整数会被驻留在内存中, 将一定 ...
- python应用中的小知识点
1.with有什么作用 with的作用是自动管理上下文打开关闭文件的时候,可以用with,文件对象不再使用的时候,会自动给我们关闭,不需手动关闭了数据库连接的时候, 2.没有import的模块怎么快速 ...
- 私人定制javascript中对象小知识点(Only For Me)
废话不多讲,先上笑话,然后再,.看懂这个的说明你的节操已经不再了. 晚饭后去理发店理发...割了吧...老板问我怎么剪,我悠悠的来一句往帅了剪...高潮往往令人想不到....旁边一在焗油烫头发的大妈说 ...
- 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...
- python中线程的知识点
什么是线程? 程序的执行线路.每个进程默认有一条线程.线程包含了程序的具体步骤. 多线程就是一个进程中有除主线程(默认线程)外还有多个线程. 线程与进程的关系(进程包含线程,而线程依赖进程存在) 1. ...
- js中一些小知识点总结--持续更新
以下知识点来自于编写高质量代码-改善JavaScript程序的188个建议,只用于自我知识的补充. 一.NaN 1.NaN是一个特殊的数量值,不表示一个数字,尽管下面的代码仍然是返回类型为number ...
- Python中函数的知识点
1.函数的定义与调用 2.函数的参数 3.函数的返回值 1. 1.1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 1.2.定义一个函数: 规则: 函数代码块以 ...
- java中的小知识点
1.数据类型的相关知识点 1.1.java内置封装类的转换 java中内置的封装类Byte.Integer.Float.Double和Long都可以转换成double类型的数值:因为这些封装好的类中都 ...
随机推荐
- 听闰土大话前端之ES6是怎么来的
前言 相信做前端的朋友没有不知道ECMAScript6的,都知晓ES6新增了不少新的特性,但是你知道ES6是怎么来的吗?今天就让闰土来带大家大话ES6的前世今生.当然了,这篇文章会以扫盲为主,科普为辅 ...
- mysql3 - 常规数据检索、常见操作与函数
一.常规数据检索 二.常见操作与函数
- PHP判断是手机端还是PC端
function check_wap() { if (isset($_SERVER['HTTP_VIA'])) return true; if (isset($_SERVER['HTTP_X_NOKI ...
- Windows下如何硬盘安装Ubuntu
一般来说,折腾双系统是每一位程序猿都有过的经历,如何在windows下安装双系统ubuntu呢?今天来给大家介绍一下如何直接在windows硬盘安装ubuntu,而不需要使用U盘或者光盘,或外置硬盘. ...
- Python后端(一)——客户端/服务端
网址组成(四部分) 协议 http, https(https 是加密的http) 主机 g.cn zhihu.com之类的网址 ,因此一般不用填写 路径 下面的「/」和「 ...
- windows转mac-开发环境搭建(一):mac上搭建maven环境
1.下载地址:https://maven.apache.org/download.cgi 将下载的maven压缩包进行解压,放入到一个方便管理的文件当中,解压命令:tar zxvf apache-ma ...
- aforge 学习-基本图像处理要用的类库
1.图像灰度化:Grayscale.CommonAlgorithms.BT709(3种) FiltersSequence =new FiltersSequence(数组处理函数): 2.二值化(阈值 ...
- 开启了1000个线程并发去查询elasticsearch把es搞挂了
org.elasticsearch.transport.RemoteTransportException: [spd-2][172.**.**.**:9300][indices:data/read/s ...
- 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享
在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...
- java 集合框架(三)Collection
一.概述 Collection是集合框架的根接口.不同的集合具有不同的特性,比如有的集合可以有重复元素,有的不可以,有的可以排序,有的不可排序,如此等等,而Collection作为集合的根接口,它规范 ...