python 字符前缀,运算符、换行符、数据类型和变量
补充
*)/ 表示的除法即使是整数,结果也是浮点数
*)python表示的整数是没有大小限制的。而某些语言根据其储存长度是有大小限制的。例如Java对32位整数的范围限制在-2147483648-2147483647。
python表示的浮点数也没有大小限制,但是超出一定的范围就会表示为inf(无限大)
运算符
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 1
SyntaxError: 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是\n
print('第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 time def 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()
数据类型和变量
静态语言和动态语言
静态语言在定义变量的时候就必须要指定变量的类型,如果赋值的时候和变量的类型不匹配就会报错例如java就是静态语言
int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量
相应的变量本身类型不固定的语言称为动态语言,Python就是动态语言
python支持多种数据类型,在计算机内部,可以把所有的变量看作为一个对象,而变量在程序中就是用于指向这些对象的,对变量的赋值就是把变量和对象关联起来
对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。
理解变量在内存中的表示:
a='ABC'
python的解释器做了两件事
在内存中创建了一个
'ABC'的字符串;在内存中创建了一个名为
a的变量,并把它指向'ABC'。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据
常量
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
python 字符前缀,运算符、换行符、数据类型和变量的更多相关文章
- python处理文件的换行符
我们知道在Windows平台下的换行符是\r\n,而在linux下的换行符是\n.现在写一个简单程序来测试python是如何处理这些换行符的. 准备文件data.txt,该文件在Windows平台下编 ...
- php方法综述除去换行符(PHP_EOL使用变量)
一个小包裹,事实上,不同的平台具有不同的实现.为什么要这样.它可以是一个世界是多样的. 最初unix与世界把它包/n取代,但windows为了体现自己的不同.要使用/r/n,更有意思的是,mac随着/ ...
- 【Python】使用制表符换行符来添加空白
在编程中,在打印时,有时候需要显示出来的数据看着舒服一点,那么使用制表符(\t).换行符(\n)即可轻松实现 >>> print('zhangsan')zhangsan 加入制表符后 ...
- python tips:文件读取——换行符的问题
问题:在windows系统中,换行的符号是'\r\n'.python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行.但是在windows文件中,可能在同一行中同时存在'\ ...
- C#(去、过滤)掉字符中的换行符
本文介绍的方法需要先导入命名空间:usingSystem.Text.RegularExpressions; 字符串里所有的的换行符都去掉:textStr = Regex.Replace(textStr ...
- 转!! Eclipse设定和修改文件字符编码格式和换行符
Window -> Preferences -> General -> Workspace : Text file encoding :Default : 选择此项将设定文件为系统默 ...
- Python开发的入门教程(一)-数据类型、变量
介绍 Python第一门课程,是Python开发的入门教程,将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列表生成式. Pyth ...
- Python之路----------基础 一(数据类型、变量、基本语法、流程控制)
一. 数据类型与变量 1.数据类型 整数 #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数. 浮点数 1 #浮点数就是小数. 字符串 1 #在Python中字符串是以 ...
- python使用制表符或者换行符来添加空白--3
#!/usr/bin/python #coding=utf-8 message="python" print(message) print("\tpython" ...
随机推荐
- 专访腾讯方亮:WeTest品牌全面升级,“好的产品一定深谙人性”
工欲善其事,必先利其器.在当下竞争激烈的市场环境中,精品,已经成为所有游戏厂商安身立命之本.但如何提升品质,使产品成为精品,行业内却长期缺乏公开.透明,以及具备实际参考.实操价值的标准. 制定一项标准 ...
- CSS 2D 转换
通过CSS 2D转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸. 2D转换一共五个属性:transfrom=> translate(X轴数值px,Y轴数值px):元素从其当前位置移动,根据 ...
- 9.智能快递柜SDK(串口型锁板)
1.智能快递柜(开篇) 2.智能快递柜(终端篇) 3.智能快递柜(通信篇-HTTP) 4.智能快递柜(通信篇-SOCKET) 5.智能快递柜(通信篇-Server程序) 6.智能快递柜(平台篇) 7. ...
- 1_Swift概况
Swift 标准库 解决复杂的问题并编写高性能,可读的代码 概况 Swift标准库定义了用于编写Swift程序的基本功能,其中包括 1.如基本数据类型Int,Double以及String 2.共同的数 ...
- SSDB数据库笔记
目录 环境 配置文件 启动服务器 客户端 SSDB:一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis. 参考文献: SSDB官网 环境 win10 下 wsl 环境 ubun ...
- Verilog语言框架
一.常用关键字
- react的路由权限控制
在使用路由的时候,有的时候我们的界面只能够在登录之后才可以看的到,这个时候就需要使用路由权限控制了 找了资料发现一个就是我使用的方法,一个是高阶组件. 原谅菜鸟看不太懂不会使用高阶组件………… 首先在 ...
- Scrapy-splash
Scrapy-splash Splash是一个javascript渲染服务.它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现.QT反应器用于使服务完 ...
- CF1010D Mars rover
CF1010D Mars rover 洛谷评测传送门 题目描述 Natasha travels around Mars in the Mars rover. But suddenly it broke ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) D. Power Products 数学 暴力
D. Power Products You are given n positive integers a1,-,an, and an integer k≥2. Count the number of ...