python中对%、~含义的解释

目录
  • %有哪几种含义?
  • ~含义是什么?
  • 按位取反运算符

%有哪几种含义?

查找手册

翻看《The Python Libary Reference》python库指南中附录index部分(P1899):

% (percent):
datetime format, 198, 594, 596
environment variables expansion (Windows), 377, 1798
interpolation in configuration files, 493
operator, 31
printf-style formatting, 51, 65

根据index中用法索引逐项来看:

  • datetime format:表示日期格式
  • environment variables expansion 环境变量扩展
  • interpolation in configureation files 插入设置文件
  • operator:取余
  • printf-style formatting:输出格式化

环境变量扩展:

Expands environment variable placeholders %NAME% in strings like REG_EXPAND_SZ:
    ExpandEnvironmentStrings('%windir%')
    'C:\\Windows'

插入设置文件

  • home_dir: /Users
  • my_dir: %(home_dir)s/lumberjack
  • my_pictures: %(my_dir)s/Pictures

实例:

cls_info = ['%s\n(%d %s)'% (estimator_conf['name'],
                            estimator_conf['complexity_computer'](estimator_conf['instance']),
                            estimator_conf['complexity_label']) 
                            for estimator_conf in configuration['estimators']]

~含义是什么?

查手册:

~ (tilde)
home directory expansion, 377
operator, 32

除了表示家目录外,表示操作符按位取反(the bits of inverted)

~5=-6
~-11=10

可以理解为取0为第一个正数,取坐标轴对称点。

解析见下 ↓↓↓↓↓↓↓

按位取反运算符

按位取反运算符~很少用到,今天看《byte of Python》书中举例,这里学习一下,再复习一下计算机的基础知识。

按位取反运算符,用来对一个二进制数按位取反,即将0变1,将1变0,按理说十进制的5(0000 0101)按位取反应该为(1111 1010)十进制250,但是在Python中运算结果并非如此,结果如下:

>>> ~-6
5

计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

  • 正整数的补码是其二进制表示,与原码相同 。
  • 负整数的补码,将其对应正数二进制表示所有位取反(包括符号位,0变1,1变0)后加1。

Python按位取反运算:

>>> ~-6
5

运算分析:

-6的补码是+6(0000 0110)取反后再+1,为(1111 1001)+(0000 0001)=(1111 1010),也就是计算机中-6是用(1111 1010)来存储的,(1111 1010) 按位取反得到(0000 0101)这就是答案5

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解析python 中/ 和 % 和 //(地板除)

    python / 和 % 和 //(地板除)用于对数据进行除法运算. python中 // 和 / 和 % 简介 python中与除法相关的三个运算符是// 和 / 和 %,下面逐一介绍. "/",这是传统的除法,3/2=1.5 "//",在python中,这个叫"地板除",3//2=1 "%",这个是取模操作,也就是区余数,4%2=0,5%2=1 Python中分为3种除法:1./,2.%,3.//. 1./ 基于 pyth

  • Python中%是什么意思?python中百分号如何使用?

    常见的两种 第一种:数值运算 1 % 3 是指模运算, 取余数(remainder) >>> 7%2 1 # -*- coding: utf-8 -*- ''' python读取文件,偶数行输出一个文件,奇数行输出一个文件 ''' def fenhang(infile,outfile,outfile1): infopen = open(infile,'r',encoding='utf-8') outopen = open(outfile,'w',encoding='utf-8') out

  • 详解Python中下划线的5种含义

    目录 1. 单引号下划线 _var 2. 单尾划线 var_ 3. 双首下划线 __var __baz出什么情况了? 4. 双前导和双末尾下划线 _var_ 5.单下划线 _ Python下划线命名模式 - 小结 本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划线和双下划线在 Python 变量和方法名称中都各有其含义.有一些含义仅仅是依照约定,被视作是对

  • Python中zip()函数的解释和可视化(实例详解)

    zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置help()模块提供了一个简短但又有些令人困惑的解释: 返回一个元组迭代器,其中第i个元组包含每个参数序列或可迭代对象中的第i个元素.当最短的可迭代输入耗尽时,迭代器将停止.使用单个可迭代参数,它将返回1元组的迭代器.没有参数,它将返回一个空的迭代器. 与往常一样,当您精通更一般的计算机科学和Python概念时,此模块非常有用.但是,对于初学者来说,这段话只会引发更

  • python中rb含义理解

    Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 文件使用方式标识 'r':默认值,表示从文件读取数据 'w':表示要向文件写入数据,并截断以前的内容 'a':表示要向文件写入数据,添加到当前内容尾部 'r+':表示对文件进行可读写操作(删除以前的所有数据) 'r+a':表示对文件可进行读写操作(添加到当前文件尾部) 'b':表示要读写二进制数据. 读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认为

  • python中 @的含义以及基本使用方法

    目录 一.表示修饰符. 二.表示矩阵乘法. 总结 一.表示修饰符. 可以在模块或者类的定义层内对函数进行修饰.出现在函数定义的前一行,不允许和函数定义在同一行. 一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错). 例1: def funA(desA): print("It's funA") def funB(desB): print("It's funB") @funA def fu

  • python中必要的名词解释

    1.Django框架 Django是一个开放源代码的Web应用框架,由Python写成.它采用 了MVC的框架模式,即模型(M).视图(V)和控制器(C).相比 其他Web框架,Django的优势是:大而全,集成了ORM.模型绑定.模 板引擎.缓存和Session等诸多功能. 2.HTTP HTTP即超文本传输协议(Hypertext Transfer Protocol),是基于请 求/响应范式的(相当于客户机/服务器).一台客户机与服务器建立连 接后,发送一个请求给服务器:服务器接到请求后,给

  • int在python中的含义以及用法

    Python int() 函数 描述 int() 函数用于将一个字符串或数字转换为整型. 语法 以下是 int() 方法的语法: class int(x, base=10) 参数 x -- 字符串或数字. base -- 进制数,默认十进制. 返回值 返回整型数据. 实例 以下展示了使用 int() 方法的实例: >>>int() # 不传入参数时,得到结果0 0 >>> int(3) 3 >>> int(3.6) 3 >>> int

  • pow在python中的含义及用法

    pow()方法返回xy(x的y次方) 的值 语法 以下是math模块pow()方法的语法: import math math.pow( x, y ) 内置的pow()方法 pow(x, y[, z]) 函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z 注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float. 参数 x -- 数值表达式.y -- 数值表达式.z -- 数值表达式. 返回值 返回

  • 再谈Python中的字符串与字符编码(推荐)

    本节内容: 1.前言 2.相关概念 3.Python中的默认编码 4.Python2与Python3中对字符串的支持 5.字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章.有的人云亦云,也有的写得很深入.近日看到某知名培训机构的教学视频中再次谈及此问题,讲解的还是不尽人意,所以才想写这篇文字.一方面,梳理一下相关知识,另一方面,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的

  • Python中列表索引 A[ : 2 ]与A[ : , 2]的区别说明

    目录 列表索引 A[ : 2 ]与A[ : , 2]区别 创建一个列表 访问列表中的值 A[ : 2 ]与A[ : , 2]的区别 python中[::]的含义 [:-1] [::-1] [:,] 列表索引 A[ : 2 ]与A[ : , 2]区别 Python内置的一种数据类型是列表:list .list是一种有序的集合,也就是说,list中的元素是按照顺序排列的.可以随时添加和删除其中的元素.它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 创建一个列表 构造list非常简单,按

  • python中对%、~含义的解释

    目录 %有哪几种含义? ~含义是什么? 按位取反运算符 %有哪几种含义? 查找手册 翻看<The Python Libary Reference>python库指南中附录index部分(P1899): % (percent):datetime format, 198, 594, 596environment variables expansion (Windows), 377, 1798interpolation in configuration files, 493operator, 31p

  • 对python中的*args与**kwgs的含义与作用详解

    在定义函数的时候参数通常会使用 *args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用. *args是非关键字参数,用于元组,**kw是关键字参数 例如下面的代码 def foo(*args,**kwargs): print 'args is',args print 'kwargs is',kwargs foo(1,2) foo(k=1,w=2,a=3,r=4,g=5,s=6) foo(1,2,a=1,b=2,c=2) foo('a',1,None,a=1,b='2',c

随机推荐