python 字符前缀,运算符、换行符,,运算符python运


运算符

python运算符 **

  a**b(b个a连乘)

python 逻辑运算符 按位逻辑运算"$" "|" "^" ">>" "<<"

  参考链接:https://blog.csdn.net/wxy_csdn_world/article/details/80759915

  $是 按位 逻辑与 运算

  比如:5 & 6,5和6转换为二进制是101和110,此时101 & 110=100,100转换为十进制是4,所以5 & 6=4

  | 是 按位 逻辑或 运算

  比如5|6,就是101|110,得到111=7,所以最后结果为7

  ^ 是按位 逻辑异或 运算(异或会将都是1或者都是0的结果改变,并不是不变的)

  比如5^6,其实是101^110,结果是011,所以5^6的答案是3

  

  >> 是左移一位,>>2 是左移两位的意思(转化位二进制,然后相应的添两个0)

>>> print (‘1 << 2:‘, 1 << 2)1 << 2: 4  (1变为100)相当于1*2*2)>>> print (‘4 << 2:‘, 4 << 2)4 << 2: 16>>> print (‘5 << 2:‘, 5 << 2)5 << 2: 20

  <<是右移一位 >>2是右移两位的意思

>>> print (‘5 >> 2:‘, 5>>2)5 >> 2: 1#没有特别的计算方法吧>>>

 

python字符前缀

  参考链接:https://blog.csdn.net/weixin_42165585/article/details/80980739

  1.无前缀和u前缀

  即以Unicode编码储存,可以存储中文,字符默认创建就是这种

  Unicode编码通常使用两个字节存储一个字符

u‘a‘ 即    u‘\u0061‘   实际内存中为  [0000 0000] [0110 0001]

  2.b前缀

  字符串储存为Ascll码,无法存储中文

>>> test_str=b‘测试‘  File "<stdin>", line 1SyntaxError: bytes can only contain ASCII literal characters.>>>

  每个字符由一个字节(8位)表示

b‘a‘ 即 b‘\x61‘  实际内存中为 [0110 0001] 

  3.r前缀

  r前缀与前面的两种不是一样的东西,它主要是解决特殊字符和转义字符的问题,其中的所有字符均视为普通字符和三引号差不多

>>> print(‘a\ta‘)a       a>>> print(‘‘‘a\ta‘‘‘)#三引号是什么,反正不是这个a       a>>> print(r‘a\ta‘)a\ta

  注意:#b前缀的结果是原样输出的,前面的b代表该字符串是一个字节数组

>>> print(b‘a\ta‘)b‘a\ta‘>>> print(u‘a\ta‘)a       a>>>

  

python \r与\b的应用、光标的含义

参考链接:https://www.jianshu.com/p/eb5c23cd6e34

\r 能将光标定位到当前行的行首

\b则是将光标回退一位

光标的含义:

光标后面的输出内容均会消失,光标回退后,后面位置的内容都会被抹除

print(‘按下回车开始计时,按下 Ctrl + C 停止计时。‘)print(‘第2行\r‘,end=‘mark‘)#这一行会消失,因为“第2行”输出后,\r会将光标回退到行首,然后输出end指定的内容即为“mark”#注意上面没有换行符了,默认的end是\nprint(‘第3行“第三行”不会消失‘)print(‘第3行\r“第3行”会消失‘)#因为输出了第三行后,光标回退到行首,即后面的内容“第3行”被抹除了print(‘第3行\b“行”会消失‘)#“\b"回退1位print(‘第4行\r‘)#这个为什么没有被抹除呢,看下面这一行print(‘第4行\ra‘)#结合输出结果来看,这个光标移到行首,后面的内容并不是立即被抹除的,而是输出一位,抹除一位print(‘第5行\r‘)#所以这一行输出了”第5行“后,光标被移到行首了,然后输出了默认的end值”\n",但是这样的话结果中的第5行前不是应该有个空行吗?#输出lient‘ ‘--host‘ ‘localhost‘ ‘--port‘ ‘5819‘ ‘c:\Users\Administrator.SC-201605202132\Envs\sort\app\forTest.py‘按下回车开始计时,按下 Ctrl + C 停止计时。mark第3行“第三行”不会消失“第3行”会消失第3“行”会消失第4行a 4行第5行

  

*)写一个输出进度的

import timedef test():    for i in range(100):        time.sleep(0.1)        print(‘当前正运行第%d/%d次测试\r‘%(i,100),end=‘‘)#必须要有这个end,要不没有用        print(‘append content‘)#而且这一行也不能有,其实也没必要有,因为如果后面一定有序列输出的,还不如分多次在附加内容输出后立即输出次数序列if __name__=="__main__":    test()

  

python 字符前缀,运算符、换行符

评论关闭