python中對(duì)%、~含義的解釋
%有哪幾種含義?
查找手冊(cè)
翻看《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
根據(jù)index中用法索引逐項(xiàng)來看:
datetime format
:表示日期格式environment variables expansion
環(huán)境變量擴(kuò)展interpolation in configureation files
插入設(shè)置文件operator
:取余printf-style formatting
:輸出格式化
環(huán)境變量擴(kuò)展:
Expands environment variable placeholders %NAME% in strings like REG_EXPAND_SZ:
ExpandEnvironmentStrings('%windir%')
'C:\\Windows'
插入設(shè)置文件
home_dir
: /Usersmy_dir
: %(home_dir)s/lumberjackmy_pictures
: %(my_dir)s/Pictures
實(shí)例:
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']]
~含義是什么?
查手冊(cè):
~ (tilde)
home directory expansion, 377
operator, 32
除了表示家目錄外,表示操作符按位取反(the bits of inverted)
~5=-6
~-11=10
可以理解為取0為第一個(gè)正數(shù),取坐標(biāo)軸對(duì)稱點(diǎn)。
解析見下 ↓↓↓↓↓↓↓
按位取反運(yùn)算符
按位取反運(yùn)算符~很少用到,今天看《byte of Python》書中舉例,這里學(xué)習(xí)一下,再復(fù)習(xí)一下計(jì)算機(jī)的基礎(chǔ)知識(shí)。
按位取反運(yùn)算符,用來對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,將1變0,按理說十進(jìn)制的5(0000 0101)按位取反應(yīng)該為(1111 1010)十進(jìn)制250,但是在Python中運(yùn)算結(jié)果并非如此,結(jié)果如下:
>>> ~-6
5
計(jì)算機(jī)中的符號(hào)數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼。三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位,三種表示方法各不相同。在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示和存儲(chǔ)。原因在于,使用補(bǔ)碼,可以將符號(hào)位和數(shù)值域統(tǒng)一處理;同時(shí),加法和減法也可以統(tǒng)一處理。
- 正整數(shù)的補(bǔ)碼是其二進(jìn)制表示,與原碼相同 。
- 負(fù)整數(shù)的補(bǔ)碼,將其對(duì)應(yīng)正數(shù)二進(jìn)制表示所有位取反(包括符號(hào)位,0變1,1變0)后加1。
Python按位取反運(yùn)算:
>>> ~-6
5
運(yùn)算分析:
-6的補(bǔ)碼是+6(0000 0110)取反后再+1,為(1111 1001)+(0000 0001)=(1111 1010),也就是計(jì)算機(jī)中-6是用(1111 1010)來存儲(chǔ)的,(1111 1010) 按位取反得到(0000 0101)這就是答案5
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基于進(jìn)程池實(shí)現(xiàn)多進(jìn)程過程解析
這篇文章主要介紹了Python基于進(jìn)程池實(shí)現(xiàn)多進(jìn)程過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04教你怎么用Python操作MySql數(shù)據(jù)庫
很多小伙伴都在問我能不能出一篇怎么用Python操作MySql數(shù)據(jù)庫的教程,今天特地整理了本篇文章,文中有非常詳細(xì)的圖文示例,需要的朋友可以參考下2021-05-05Python并行編程多線程鎖機(jī)制Lock與RLock實(shí)現(xiàn)線程同步
這篇文章主要為大家介紹了Python并行編程多線程鎖機(jī)制Lock與RLock實(shí)現(xiàn)線程同步示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python實(shí)現(xiàn)移動(dòng)木板小游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)移動(dòng)木板小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10