脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python中对%、~含义的解释

python中对%、~含义的解释

2023-02-10 11:03MiaL Python

这篇文章主要介绍了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

实例:

?
1
2
3
4
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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/houhuipeng/article/details/90760911

延伸 · 阅读

精彩推荐
  • PythonPython模拟登录的多种方法(四种)

    Python模拟登录的多种方法(四种)

    这篇文章主要介绍了Python模拟登录的多种方法,大概给大家提供了四种方法,每种方法给大家介绍的都很详细,感兴趣的朋友跟随脚本之家小编一起看看吧...

    半吊子python全栈10132021-02-28
  • Pythonpython微信公众号之关键词自动回复

    python微信公众号之关键词自动回复

    这篇文章主要为大家详细介绍了python微信公众号之关键词自动回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    张治杰7382021-03-05
  • Python详解Python中DOM方法的动态性

    详解Python中DOM方法的动态性

    这篇文章主要介绍了详解Python中DOM方法的动态性,xml.dom模块在Python的网络编程中相当有用,本文来自于IBM官网的开发者技术文档,需要的朋友可以参考下 ...

    脚本之家3832020-06-04
  • PythonPython+微信接口实现运维报警

    Python+微信接口实现运维报警

    这篇文章主要介绍了Python+微信接口实现运维报警的相关资料,需要的朋友可以参考下...

    mindg4142020-09-05
  • PythonPython中用于返回绝对值的abs()方法

    Python中用于返回绝对值的abs()方法

    这篇文章主要介绍了Python中用于返回绝对值的abs()方法,是Python入门中的基础知识,需要的朋友可以参考下...

    Python教程网6152020-06-28
  • PythonPandas数据分析之批量拆分/合并Excel

    Pandas数据分析之批量拆分/合并Excel

    怎样将一个大的Excel拆分,或者将很多小Excel文件合并?下面这篇文章主要给大家介绍了关于Pandas数据分析之批量拆分/合并Excel的相关资料,需要的朋友可以参...

    Wumbuk7562021-12-28
  • PythonWxPython建立批量录入框窗口

    WxPython建立批量录入框窗口

    这篇文章主要为大家详细介绍了WxPython建立批量录入框窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    陈年椰子8782021-06-03
  • PythonPython之py2exe打包工具详解

    Python之py2exe打包工具详解

    下面小编就为大家带来一篇Python之py2exe打包工具详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    脚本之家3032020-11-17