文章目录
学习内容:运算符和字符串
学习时间:晚22:00-23:00
学习产出:CSDN 技术博客 1 篇
第一部分:运算符(接昨天)
同一运算符is和==的区别
每个对象都有标识(id),类型(type)和value(值)组成。其中id是用来对应对象在计算机内存中的地址。
“==”是用来比较值的,而is是用来比较地址,所以
代码讲解如下(示例):
>>> a = -5 # a, b 数值类型
>>> b = -5
>>> a is b
True
>>> a = -6
>>> b = -6
>>> a is b
False # 下面讲解
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
#以上在命令行里执行,之所以-5和-6;256和257有差异,是因为python仅对比较小的整数对象进行缓存范围是[-5,256],而-6和257不在这个范围内,都存不进地址,比较地址自然不可行。
但是这种情况仅限于在命令行运行。如果是在pycharm运行的话,因为解释器做了优化,地址能存了,所以就是以下这种情况。
a = -5 #以下是在在pycharm里面运行的
b = -5
print(a is b)
True
a = -6
b = -6
print(a is b)
True
a = 256
b = 256
print(a is b)
True
a = 257
b = 257
print(a is b)
True
#字符串类型
>>> b = 'zhaoxuan' # a, b 字符串类型
>>> a = 'zhaoxuan'
>>> a is b
True # 简单字符串可用,下面讲解
>>> id(a)
42111997
>>> id(b)
42111997
>>> a = 'wo shi zhao xuan'
>>> b = 'wo shi zhao xuan'
>>> a is b
False # 复杂字符串不可用,下面讲解
>>> id(a)
2146074255200
>>> id(b)
2146074255272
>>> a = (1,2,3) # a, b 元组类型
>>> b = (1,2,3)
>>> a is b
False
>>> id(a)
2146074256320
>>> id(b)
2146074256378
>>> a = [1,2,3] #a,b list类型
>>> b = [1,2,3]
>>> a is b
False
>>> a = {'a':1,'b':2} #a,b dict类型
>>> b = {'a':1,'b':2}
>>> a is b
False
>>> a = set([1,2,3]) #a,b set类型
>>> b = set([1,2,3])
>>> a is b
False
>>> id(a)
2146074299258
>>> id(b)
2146074299236
————————————————
版权声明:本文为CSDN博主「赵萱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zxmzhaoxuan/article/details/83746903
基本运算符
#位操作
>>> a = 0b11001
>>> b = 0b01000
>>> c = a|b
>>> bin(c) #bin()可以将数字转成二进制表示
'0b11001'
>>> bin(c&b)
'0b1000'
>>> bin(c^b)
'0b10001'
>>> a = 3
>>> a<<2 #左移 1 位相当于乘以 2.左移 2 位,相当于乘以 4
12
>>> a = 8
>>> a>>1 #右移 1 位相当于除以 2
# 加法操作
(1) 数字相加 3+2 ==> 5
(2) 字符串拼接 “3”+“2”==> “32”
(3) 列表、元组等合并 [10,20,30]+[5,10,100] ==>[10,20,30,5,10,100]
# 乘法操作
(1) 数字相乘 3*2 ==> 6
(2) 字符串复制 “sxt”*3 ==> ”sxtsxtsxt”
(3) 列表、元组等复制 [10,20,30]*3 ==> [10,20,30,10,20,30,10,20,30]
复合赋值运算符
运算符优先级
使用原则:
- 乘除优先加减
- 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
第二部分:字符串字符串的编码
字符串的编码
内置函数ord()可以将字符转换成对应Unicode码
内置函数chr()可以把十进制数字转换成对应的字符
引号创建字符串
单引号或者双引号都可以,三个单引号或三个双引号可以创建多行字符串
>>> resume = ''' name="gaoqi"
company="sxt" age=18
lover="Tom"'''
>>> print(resume)
name="gaoqi"
company="sxt" age=18
lover="Tom"
空字符串和len()函数
python允许空字符串,长度为0
>>> c = ''
>>> len(c)
0
len()用于计算字符串的长度