zoukankan      html  css  js  c++  java
  • python中的小知识点

      这里是一些小知识点的汇集,为的是以后查找的方便。

      行与缩进:

        物理行:实际看到的代码行数。

        逻辑行:在意义上的函数(即解释器执行的行数)

        如果一个物理行中包含了多个逻辑行,则每个逻辑行之间需要用分号 “;” 隔开,最后一个逻辑行可以省略分号

        一个逻辑行分为了多个物理行的话使用转义符 "" 进行每个物理行之间的连接

        缩进:逻辑行行首的空白,一般情况下行首不留空白

          if和while语句的缩进:条件下的一个tab字符

      运算符:

        //:除法,向下取整

        %:取余

        &:二进制下的按位“与”运算

        |:按位或

        ^:按位异或(不同为1,相同为0)

        ~:按位翻转 ~x=-(x+1)

        <<:二进制左移,左移n个单位相当于乘以2^n

        >>:二进制右移,右移n个单位相当于除以2^n

        运算符优先级:

      1. 函数调用、寻址、下标
      2. 幂运算**
      3. 翻转运算
      4. 正负号
      5. *  /   %
      6. +   -
      7. <<   >>
      8. &  ^  |
      9. 比较运算符:>  < >= <=
      10. 逻辑的  not and or
      11. 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则是你雇了一个人,让他去寄快递,快递到了之后他帮你取到家门口。

      

  • 相关阅读:
    java学习——abstract 和 final
    apache配置访问目录的默认页面
    Beyond Compare 4
    idea常用插件
    linux关闭防火墙
    本地项目上传到gitlab
    删除数据库中多余的数据
    git上传本地项目到gitlab
    谷歌浏览器插件
    域名
  • 原文地址:https://www.cnblogs.com/BigJ/p/7586492.html
Copyright © 2011-2022 走看看