目录

1、print()函数

2、转义字符与原字符

2.1 转义字符

2.2 原字符

3、 二进制与字符编码

3.1.字节和位

3.2 字节和字符

3.3 chr()函数与ord()函数

4、python中的标识符和保留字

4.1 保留字

4.2 标识符

5、变量的定义和使用

5.1 变量

6、python中常见的数据类型

6.1 整数类型

6.2 浮点类型

6.3 bool类型

6.4 字符串类型

7、数据类型转换

7.1类型转换str()和int()函数

8、python中的注释

9、input函数的使用

9.1 输入函数input()

9.2 input()函数的高级使用

10. python中的运算符

10.1 算术运算符

10.2 赋值运算符

10.3 比较运算符

10.4 布尔运算符

10.5 位运算符

11. 运算符的优先级


1、print()函数

双引号和单引号是直接告诉计算机,不用去理解是什么意思,直接去输出就好了。

print('hello world')
print("yes")#含有运算符的表达式
print(3+1)
print('3+1')#结果:
hello world
yes
4
3+1

将数据输出在文件中,注意:1、所指定的盘要存在;2、使用file=pq

pq=open('D:\工作\TEST','a+')#a+:如果文件不存在就创建,如果存在就在文件内容的后面继续追加

print('hello',file=pq)

pq.close()

#不进行换行输出

#不进行换行输出
print('wa','yes','no')
#结果:
wa yes no

2、转义字符与原字符

2.1 转义字符

反斜杠+想要实现的转义功能的首字母
        为什么需要转义字符:当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时。必须使用反斜杠对这些字符进行转义

2.2 原字符

让转义字符不起作用,原字符就是在字符串之前加上r或者R。但要注意,最后一个字符不能是反斜杠

#转义字符:\n,\t,\bprint('hello\nworld')#\n是换行
print('helloworld')
print('hello\tworld')#\t是制表符,四个代表一个位
print('helloo\tworld')
print('hellooo\tworld')
print('helloooo\tworld')
print('helloooo\bworld')#\b是退格,往回退一个print('老师说:\"大家哈皮\"')
print('http:\\\www.baidu.com')#原字符
print(r'hello\nworld')

结果:

#换行后:
hello
world
#换行前:
helloworld
#制表之后
hello   world
helloo  world
hellooo world
helloooo    world
helloooworld#使用\将""直接输出老师说:"大家哈皮"#使用\将\\直接输出
http:\\www.baidu.com#原字符实现了换行不起作用
hello\nworld

3、 二进制与字符编码

3.1.字节和位

位是最小的存储单位,一字节=8位;bit:位;byte:字节

8bit=1byte;1024byte=1kb;1024kb=1MB;1024MB=1GB;1024GB=1TB

0 0

00,01,10,11;两个位组成四种;八位则组成256种(一字节有256种);对应现实生活中256种符号

3.2 字节和字符

在不同的编码格式里,字节和字符的对应关系不同

1、ASCII码:一个英文字母(不区分大小写)占一个字节的空间;一个中文汉字占两个字节的空间。

一般为8位二进制数,换算十进制,最小值为0,最大值为255.

2、UTF-8:一个英文字符等于一个字节,一个中文等于3个字节

3、Unicode:一个英文等于两个字节,一个中文等于两个字节

符号:英文标点占一个字节,中文标点占两个字节

4、UTF-16:一个英文字母字符或一个汉字字符存储都需要2个字节

5、UTF-32:世界上任何字符的存储都需要4个字节

字符:a、A、中、+、*、の......均表示一个字符;

3.3 chr()函数与ord()函数

chr()函数表示返回一个字符串

相反ord()函数就是用来返回单个字符的ascii值(0-255)或者unicode数值()

print(chr(0b100111001011000))#0b表示二进制,如果不写,则识别不出来

print(ord('乘')) print(chr(65))#将整数(十进制)返回为ASCII表中的字符的值

print(ord('A'))#将字符A返回为ASCII表中的十进制的值

#chr()函数表示返回一个字符串;
#相反ord()函数就是用来返回单个字符的ascii值(0-255)或者unicode数值()
print(chr(0b100111001011000))#0b表示二进制,如果不写,则识别不出来;
print(ord('乘'))
print(chr(65))#将整数(十进制)返回为ASCII表中的字符的值
print(ord('A'))#将字符A返回为ASCII表中的十进制的值
#结果:
乘
20056
A
65

4、python中的标识符和保留字

4.1 保留字

有一些单词背赋予了特定的意义,这些单词你在给你的任何对象起名字的时候都不能用

比如建立python文件时,取名keyword;

import keyword

print(keyword.kwlist)

4.2 标识符

变量、函数、类、模块和其他对象的起的名字就叫标识符

规则:字母、数字、下划线

(1) 不能以数字开头

(2) 不能是我的保留字

(3) 严格区分大小写

5、变量的定义和使用

5.1 变量

其值可以改变的量,内存当中带标签的盒子

如:标签在盒子里。name表示标签,玛丽亚是数据,将数据放入这个盒子,=表示赋值运算符

即: name='玛丽亚'  (变量名 赋值运算符 值): 将值通过赋值运算符放入在带标签的盒子

变量由三部分组成:

(1)标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取

(2)类型:表示的是对象的数据类型,使用内置函数type(obj)来获取

(3)值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出

内存分析图

name='玛丽亚'
print('标识:',id(name))
print('类型:',type(name))
print('值:',name)
#结果:
标识: 2654078816432
类型: <class 'str'>
值: 玛丽亚

变量可以多次赋值,以最后赋值的为最终结果,之前的内存地址(标识/id)变为内存垃圾

name='玛丽亚'
name='小宝'
print(name)
print('标识:',id(name))
print('类型:',type(name))
print('值:',name)#结果:
小宝
标识: 1853820327120
类型: <class 'str'>
值: 小宝

6、python中常见的数据类型

整数类型:int->98

浮点类型:float->3.1415

布尔类型:bool->True,False

字符串类型:string->人生苦短,我用Python

注意:在输入变量的时候,如果是同行输入,则注意是“;”分隔;而分行则不用。

而每输出一个值,都需要用“,”隔开。或者可以用“+”这个连接符来连接,不过如果数据类型不一致的话,需要进行转换,这个在7.1会详细说明。转换的输出代码如下:

print('结果'+str(n1)+'是'+str(type(n1))+'类型'+';'+'\n'+str(n2)+'是'+str(type(n2))+'类型'+';'+'\n'+str(n3)+'是'+str(type(n3))+'类型')

目前还是以“,”分割来先将其输出,代码如下

n1=45;n2='你好';n3=3.12
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
print('结果:',n1,type(n3),n2,type(n2),n3,type(n3))
#结果:
45 <class 'int'>
你好 <class 'str'>
3.12 <class 'float'>
结果: 45 <class 'float'> 你好 <class 'str'> 3.12 <class 'float'>print('结果',n1,'是',type(n1),'类型',';','\n',n2,'是',type(n2),'类型',';','\n',n3,'是',type(n3),'类型')#结果:
结果 45 是 <class 'int'> 类型 ; 你好 是 <class 'str'> 类型 ; 3.12 是 <class 'float'> 类型

6.1 整数类型

integer,简称int,可以表示正数、负数和零

整数的不同进制表示方式:

十进制->默认的进制

二进制->以0b开头

八进制->以0o开头

十六进制->以0x开头

print('十进制',75)
print('二进制',0b01001011)#表示01001011该二进制,换算的来十进制的结果是什么
print('八进制',0o113)#表示113的八进制,换算得来十进制的结果是什么
print('十六进制',0x4B)#表示4B的十六进制,换算十进制的结果是什么
#结果:
十进制 75
二进制 75
八进制 75
十六进制 75

验证结果:int类型默认为十进制;因为其他进制需以0b/0o/0x来进行换算,但整型却未加,而最终结果却是一致的。

6.2 浮点类型

(1)整数部分和小数部分组成

(2)浮点数存储不精确性:使用浮点数进行计算时,可能会出现小数位数不确定的情况

a1=3.1
a2=3.2
print(a1+a2)
#结果:
6.300000000000001

为了解决这个问题,可以进行如下方法:

解决方案:导入模块decimal

a1=3.1
a2=3.2
#未导入模块时得计算结果
print(a1+a2)#导入模块的代码如下:
from decimal import Decimal
print(Decimal('3.1')+Decimal('3.2'))

导入模块后计算就正确了

#未导入前,计算结果偏差
6.300000000000001
#导入模块后,计算结果正确
6.3

但不是所有的浮点数进行相加都会出现不准确性,如:1.1+2.2,其结果就是3.3

a1=1.1
a2=2.1
print(a1+a2)from decimal import Decimal
print(Decimal('3.1')+Decimal('3.2'))

结果:

3.2
6.3

6.3 bool类型

用来表示真(True)或假(False);布尔值可以转化为整数,true->1;false->0

为变量赋值时,要使用大写:True,因为如果输入true报错提示未定义

f1=True
f2=False
print(f1,type(f1))
f3=true

结果:

Traceback (most recent call last):File "D:\工作\python script\test0\test3.py", line 4, in <module>f3=true
NameError: name 'true' is not defined. Did you mean: 'True'?  #f3的true未定义
#这是f1的输出结果
True <class 'bool'>

bool类型可以转为整数去计算,因为真为1,假为0,验证代码如下:

f1=True
f2=False
print(f1,type(f1))
#bool类型可以转成整数计算:
print(f1+1)#f1是真,表示1+1
print(f2+1)#f2是假,表示0+1

验证结果:

True <class 'bool'>
2
1

6.4 字符串类型

字符串类型又被称为不可变的字符序列

可以使用单引号'',双引号"",三引号''''''或""""""

单引号和双引号定义的字符串必须在一行

三引号定义的字符串可以分布在连续的多行

str='人生苦短'
str1="人生苦短"
str2='''好好学习'''
str3='''好好
学习'''
str4="""好好学
习,天天
向上
"""
print(str,str1,str2,str3,str4)

结果:三引号分行写,也分行显示

人生苦短 人生苦短 好好学习 好好
学习 好好学
习,天天
向上

7、数据类型转换

为什么要将数据类型进行转换,因为这是为了让不同的数据类型连接在一起。

7.1类型转换str()和int()函数

str和int不能直接连接,如果直接连接则会报错

name='张三'
age=20
print(type(name),type(age))#得出name和age的数据类型不相同
print('我是'+name+'我今年'+age+'岁')#所以用+(这个连接符)去连接的话,就会报错

报错结果如下:

Traceback (most recent call last):File "D:\工作\python script\test0\test3.py", line 5, in <module>print('我是'+name+'我今年'+age+'岁')
TypeError: can only concatenate str (not "int") to str

转换数据类型的代码如下:

name='张三'
age=20
print(type(name),type(age))#得出name和age的数据类型不相同
#print('我是'+name+'我今年'+age+'岁')#所以用+(这个连接符)去连接的话,就会报错
print('我是'+name+'我今年'+str(age)+'岁')#将int类型转化为str类型

结果就不会报错了:

<class 'str'> <class 'int'>
我是张三我今年20岁

同理,其他类型的也是可以去转换,但是要注意的是:

int():文字类的和小数类的字符串,无法转换成整数;浮点数转换成int,则会抹零取整。

比如小数类:123.12,文字类:hello,这种(非数字串,且是非整数数字串的)是无法转换成功的,会报错。

报错结果如下:小数类

s1='123'
s2='123.12'
f1=4.4
b1=False
s3='hello'
print(type(s1),type(f1),type(b1))
print(int(s1),type(int(s1)))#将str转为int类型,字符串为数字字符串,不会报错
print(int(f1),type(int(f1)))#将float转为int,验证是否抹零
print(int(b1),type(int(b1)))#将bool转为int,验证是否成功
print(int(s2),type(int(s2))) #将str转为int类型,字符串为小数类字符串,则会报错
#print(int(s3),type(int(s3)))
Traceback (most recent call last):File "D:\工作\python script\test0\test3.py", line 11, in <module>print(int(s2),type(int(s2))) #将str转为int类型,字符串为小数类字符串,则会报错
ValueError: invalid literal for int() with base 10: '123.12'
<class 'str'> <class 'float'> <class 'bool'>
123 <class 'int'>#字符串为数字串的(非小数的),转换成功
4 <class 'int'>#float转为int的,已转换成功,且已经抹零
0 <class 'int'>#bool型的也能转为int类型,且,False就是0

文字类:

s1='123'
s2='123.12'
f1=4.4
b1=False
s3='hello'
print(type(s1),type(f1),type(b1))
print(int(s1),type(int(s1)))#将str转为int类型,字符串为数字字符串,不会报错
print(int(f1),type(int(f1)))
print(int(b1),type(int(b1)))
#print(int(s2),type(int(s2)))
print(int(s3),type(int(s3)))#将str转为int类型,字符串为文字类字符串,则会报错
<class 'str'> <class 'float'> <class 'bool'>
123 <class 'int'>
4 <class 'int'>
0 <class 'int'>
Traceback (most recent call last):File "D:\工作\python script\test0\test3.py", line 12, in <module>print(int(s3),type(int(s3)))#将str转为int类型,字符串为文字类字符串,则会报错
ValueError: invalid literal for int() with base 10: 'hello'

float():文字类无法转换成整数;整数类型转换为float时,末尾为.0。代码如下:

s1='123'
s2='123.12'
f1=4
b1=False
s3='hello'
print(type(s1),type(s2),type(f1),type(b1),type(s3))
print(float(f1),type(float(f1)))#整型转为浮点型,验证后面加个.0,即4.0
print(float(s1),type(float(s1)))#整数字符串,转为浮点型,验证123.0
print(float(s2),type(float(s2)))#小数类字符串,转为浮点型,验证123.12
print(float(b1),type(float(b1)))#bool转为浮点型,False本身为0,转后即:0.0
print(float(s3),type(float(s3)))#文字类字符串无法转为整数,也无法转换为浮点型,所以会报错

验证结果:

<class 'str'> <class 'str'> <class 'int'> <class 'bool'> <class 'str'>
4.0 <class 'float'>#整数类型转换成功
123.0 <class 'float'>#整数类字符串转换成功
123.12 <class 'float'>#小数类字符串转换成功
0.0 <class 'float'>#bool转换转换成功
Traceback (most recent call last):File "D:\工作\python script\test0\test3.py", line 12, in <module>print(float(s3),type(float(s3)))#文字类字符串无法转为整数,也无法转换为浮点型,所以会报错
ValueError: could not convert string to float: 'hello'

eval()是将字符串里的值转换为它原本对应的类型

注意:变量的值必须是字符串

a='1'
b='2.2'
c='[1,2,3]'
d='(1,2,3,4)'
print(eval(a),type(eval(a)))
print(eval(b),type(eval(b)))
print(eval(c),type(eval(c)))
print(eval(d),type(eval(d)))
#结果:
1 <class 'int'>
2.2 <class 'float'>
[1, 2, 3] <class 'list'>
(1, 2, 3, 4) <class 'tuple'>#tuple是一个元组类型

8、python中的注释

单行注释:以“#”开头,直到换行结束

多行注释:并没有单独的多行注释标记。将一对三引号之间的代码称为多行注释(前提:在以三引号不赋给任何变量的时候)

中文编码声明注释:在文件开头加上中文声明注释,用以指定源码文件的编码格式

9、input函数的使用

9.1 输入函数input()

input函数的作用:接收来自用户的输入

input的返回值类型:输入值的类型为str

input的值的存储:使用=对输入的值进行存储

present = input('输入提示语')

present是变量,=是赋值运算符,input()函数是一个输入函数。将输入函数的结果赋值给变量present。

a=input('请输入您的密码')
print(f'您输入的密码是{a}')
#结果
请输入您的密码1
您输入的密码是1#或者
a=input('请输入您的密码')
print(a)
#结果
请输入您的密码1
1

9.2 input()函数的高级使用

因为input()函数输入的值的类型时str,所以如果直接运算符相加的话,只是一种输出值的连接,并不会进行相加。

a=input('请输入一个整数:')
b=input('请再输入一个整数:')
print(a+b)
print(type(a),type(b))

因为可以查看a和b的类型都是str型的,直接a+b是表示连接,而不是运算

请输入一个整数:10
请再输入一个整数:20
1020
<class 'str'> <class 'str'>

实现将两个数相加,写入代码有三种方式。

(1)在输出的时候进行类型的转换

(2)在输入后,将输入的值进行转换,转换后输出的时候就可以直接相加

(3)直接在输入的时候就进行转换,输出时直接相加

#这是在输出的时候进行类型的转换
a=input('请输入一个整数:')
b=input('请再输入一个整数:')
print(type(a),type(b))
print(int(a)+int(b))#结果:
请输入一个整数:10
请再输入一个整数:20
<class 'str'> <class 'str'>
30#这是在输入后,将输入的值进行转换,转换后输入的时候就可以直接相加了
a=input('输入一个整数:')
b=input('输入另一个整数')
a=int(a)
b=int(b)
print(a+b)#结果:
输入一个整数:20
输入另一个整数30
50#这是直接在输入的时候就进行转换,输出时直接相加
a=int(input('输入一个整数:'))
b=int(input('再输入一个吧:'))
print(a+b)#结果:
输入一个整数:30
再输入一个吧:40
70

10. python中的运算符

10.1 算术运算符

包括:标准算术运算符,取余运算符,幂运算符

10.1.1 标准算术运算符:加(+)、减(-)、乘(X)、除(/)、整除(//)

print(2+3)
print(3-1)
print(2*4)
print(1/4)#除法
print(1//4)#整除
#结果:
5
2
8
0.25#除法后的值
0#整除后的值

10.1.2 取余运算符:%

print(11%2)
#结果
1

10.1.3 幂运算符:##

print(3**3)#表示3的3次方
print(3**4)#表示3的4次方
#结果
27
81

当一正一负时,整除的话,要向下取整。如:-9//4,结果为-3

print(-9//-4)
print(9//-4)#一正一负的时候会向下取整-9除以4结果是-2.25,取整为-3
print(-9//4)
print(9/4)
print(9//4)
#结果:
2 #-9除以-4的结果
-3 #一正一负的结果
-3 #一正一负的结果
2.25 #9除以4
2 #9整除以4

当一正一负取余的时候,要遵循公式:余数=被除数-除数乘以商

同时别忘了商在一正一负的情况下,要向下取整。

print(-9%-4)
print(9%-4)
print(-9%4)
print(9%4)
#取余的话,一正一负的适合要遵循公式,公式:余数=被除数-除数乘以商
# (这个商也要遵循一正一负向下取整,所以当一正一负时,变成了-3)
#结果:余数=-9-(-4)*(2)=-1
#结果:余数=9-(-4)*(-3)=-3
#结果:余数=-9-(4)*(3)=3#结果:
-1
-3
3
1

10.2 赋值运算符

10.2.1 执行顺序:从右->左

10.2.2 支持链式赋值-> a=b=c=20

10.2.3 支持参数赋值:+=,-+,*=,/=,//+,%=

a=30
a+=20  #a加上20后再赋值给a
print(a)  #a=50
a-=30
print(a)  #a=20
a*=40
print(a)  #a=800
print(type(a)) #a的类型是int型
a//=50    #a整除以50
print(a)  #a=16
print(type(a)) #a的类型是int型
#结果:
50
20
800
<class 'int'>
16
<class 'int'>a=30
a+=20  #a加上20后再赋值给a
print(a)  #a=50
a-=30
print(a)  #a=20
a*=40
print(a)  #a=800
a/=4  #因为除以的话是有余数的,所以是浮点型
print(a) #a=200.0
print(type(a))#a的类型是float型
#结果:
50
20
800
200.0
<class 'float'>

10.2.4 支持系列解包赋值:a,b,c=20,30,40

a=b=c=10,23,34,3
print(a,b,c)
#结果:
(10, 23, 34, 3) (10, 23, 34, 3) (10, 23, 34, 3)a=b=c=10
print(a,b,c)
#结果:
10 10 10
a,b=10,20
print(a,b)
#结果:
10 20a,b=10,20,30  #值和变量的个数要相等,否则会报错
print(a,b)
#结果:a,b=10,20,30
ValueError: too many values to unpack (expected 2)

在python中,可以不通过中间变量的方式去实现两个值的交换。使用交换代码:a,b=b,a。

a,b=10,20
print(a,b)
#交换两个变量的值可以不需要中间变量,使用交换代码即可:
a,b =b,a
print(a,b)
#结果:
10 20
20 10

10.3 比较运算符

对变量或表达式的结果进行大小,真假等比较

(1) >,<,>=,<=,!=

(2) ==  (对象value的比较)

a,b=10,44
print(a>b)
print(a!=b)
print(a<b)
print(a<=b)
print(a==b)
print('a不等于b吗',a!=b)
#结果:
False
True
True
True
False
a不等于b吗 True

(3) is,is not   (对象的id(标识)的比较)

a,b=10,44
print(id(a),id(b))
print('a和b的标识是不是相同?',a is b)
#a和b的标识是不一致的,id不一致的,所以是False
#结果:
2424971919888 2424971920976
a和b的标识是不是相同? False
#--------------
a,b=10,10
print(id(a),id(b))
print('a和b的标识是不是相同?',a is b)
#a和b的标识是一致的,id是一致的,所以是True
#结果:
1685260403216 1685260403216
a和b的标识是不是相同? True

但是当是数组时,虽然数组的值都是一样的,但是存储的标识(id)却会不一致

list1=[1,2,3]
list2=[1,2,3]
print(list1==list2)
print(id(list1),id(list2))
print('list1和list2的标识是一致的吗?',list1 is list2)
#或者:
list1,list2=[1,2,3],[1,2,3]
print(list1==list2)
print(id(list1),id(list2))
print('list1和list2的标识是一致的吗?',list1 is list2)
#结果:list1和list2的id就是不一致的
True
2656185348992 2656185315456
list1和list2的标识是一致的吗? False
#--------------------
#对比单个值:
a,b=10,10
print(id(a),id(b))
print('a和b的标识是不是相同?',a is b)
#结果:
1685260403216 1685260403216
a和b的标识是不是相同? True
#a和b的标识是一致的,id是一致的,所以是True

10.4 布尔运算符

布尔运算符:and,or,not,in,not in

and的需要都是真,才为真;or只需要有一个为真,那就是真

a,b=1,2
print(type(a),type(b))
print(a==1 and b==2)
print(a<1 and b==2)
print(a<1 or b==2)
print(a<1 or b<2)
#结果:
<class 'int'> <class 'int'>
True
False
True
False
#表明:and的需要都是真,才为真;or只需要有一个为真,那就是真

not表示非

q=True
w=False
print(not q)
print(not w)
#结果:
False
True
#即取反

in和not in,表示在或者不在

a='abcdefg'
print(type(a))
print('a'in a)
print('b'in a)
print('h' in a )
print('h'not in a)
#结果
<class 'str'>
True#字符a确实在a里
True#字符b确实在a里
False#字符h不在a里,所以是false
True#字符h不在a里,所以是true

10.5 位运算符

位运算符:将数据转成二进制进行计算

(1)位与&:对应数位都是1,结果数位才是1,否则为0

(2)位与|:对应数位都是0,结果数位才是0,否则为1

0 0 0 0 0 1 0 0 4
0 0 0 0 1 0 0 0 8
0 0 0 0 0 0 0 0 & 结果:0
0 0 0 0 0 1 0 0 4
0 0 0 0 1 0 0 0 8
0 0 0 0 1 1 0 0 | 结果:12

"&"和"|"的逻辑代码及验证结果如下:

a=4
b=8
print(a&b)
print(a|b)
#结果:
0
12

(3)左移位运算符<<:高位溢出舍弃,低位补0

(4)右移位运算符>>:低位溢出舍弃,高位补0

左移:高位溢出舍弃,低位补0

高位溢出(舍弃) 0 0 0 0 0 1 0 0 4
0 0 0 0 0 1 0 0 低位补0
结果: 0 0 0 0 1 0 0 0 8
结论:向左移动一位,相当于乘以2
高位溢出(舍弃) 0 0 0 0 1 0 0 0 8
0 0 0 0 1 0 0 0 低位补0
结果 0 0 0 1 0 0 0 0 16
在8的基础上又去左移了一位,结果为16,所以:左移一位乘以2

可以理解为:2^2,2^3,2^4,左移一位加一

右移:低位溢出舍弃,高位补0

16 0 0 0 1 0 0 0 0
高位补0 0 0 0 1 0 0 0 0 低位溢出(舍弃)
8 0 0 0 0 1 0 0 0 结果
结论:向右移动一位,相当于除以2
8 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 低位溢出(舍弃)
4 0 0 0 0 0 1 0 0 结果
在8的基础上又去右移了一位,结果为4,所以:右移一位除以2

代码逻辑如下:

a=16
print(a<<1)#a左移一位,乘以2,结果为32
print(a>>2)#a右移两位,除以4,结果为4
print(a>>1)#a右移一位,除以2,结果为8
#结果:
32
4
8

11. 运算符的优先级

有括号先计算括号:()>算术运算符>位运算>比较运算>布尔运算>赋值运算

python学习(一)数据类型和运算符相关推荐

  1. java基础学习 --- 第二节 变量、数据类型和运算符

    java基础学习 - 第二节 变量.数据类型和运算符 一.变量 1.变量就是会发生改变的数据,程序运行时,这些数据以变量的形式被保存到计算机的内存中.如图 2.使用变量的步骤:     声明变量 - ...

  2. JAVA学习脚印2: 数据类型和运算符

    JAVA学习脚印2: 数据类型和运算符 本节将记录java中的数据类型和运算符. 1. java中的数据类型 java中变量的数据类型有两种:基本类型(primitive)和引用(reference) ...

  3. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  4. java异或运算结果数据类型_java中的数据类型和运算符的总结归类。

    首先学习java肯定先要了解java的发展史,以及java的特点,常见的dos命令,jdk的安装,如何开发java程序等等一下概念行的东西,这里面我都不一一说了. 今天这一章主要想总结一下java中的 ...

  5. MYSQL数据库——mysql的数据类型和运算符

    一.数据类型和运算符 数据库表是由多列字段构成,每一个字段都是表的一个属性,每一列都指定了不用的数据类型.指定了数据类型之后,也就决定了向字段内插入的数据的内容.例如,插入的是数字的时候,既可以将它们 ...

  6. double类型怎么取余_数据类型和运算符

    数据类型和运算符 1.进制 1.1文件存储单位 ​ 任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来 . ​ 一个电信号或者一个二进制位统称为Bit位,8个Bit位为一组组成 ...

  7. 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符

    数据类型和运算符 1.进制 1.1文件存储单位 ​ 任何数据在计算机中都是以二进制的形式存在的,二进制早期由电信号开关演变而来 . ​ 一个电信号或者一个二进制位统称为Bit位,8个Bit位为一组组成 ...

  8. 小猿圈python金角大王_小猿圈python学习-基本数据类型

    小猿圈python学习-基本数据类型 2019-04-24 11:16:14 1点赞 6收藏 0评论 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大, ...

  9. 【JavaSE】02-变量、数据类型和运算符

    二. 变量.数据类型和运算符 2.1 变量 2.1.1 变量的声明 type varName [=value][,varName[=value]...]; //[ ]中的内容为可选项,即可有可无 数据 ...

  10. Python.随机输入两个数和运算符进行四则运算

    Python.随机输入两个数和运算符进行四则运算 代码 import random def function(x,op,y):try:#将x,y转换为浮点数x,y=float(x),float(y)# ...

最新文章

  1. Serializer序列化使用
  2. 《C#图解教程》读书笔记之四:类和继承
  3. 获取用户的IP地址的三个属性的区别
  4. mysql 新建库在哪找_求助,mysql创建数据库找不到文件在哪问题
  5. 贷款被拒,因为你的手机有问题
  6. 在.NET Core下的机器学习--学习笔记
  7. NE2018届校招内推笔试——数据挖掘
  8. Theano 中文文档 0.9 - 6. 更新Theano
  9. C#学习记录1——Hello World! 补充
  10. python第三十二天-----算法
  11. 202202 喜马拉雅 下载 下架产品为mp3 m4a格式
  12. 网站服务器进不去可以加速进去吗,让网页打开加速的方法
  13. [敏捷开发实践] 用Sonarqube评估系统中的 Technical Debt (技术债)
  14. java是牌子的眼镜多少钱一副_一副好眼镜的成本都去哪儿了?
  15. 微信游戏,微信小说系统域名防封是如何做到的
  16. 为什么要发明Hooks?
  17. MySQL为JSON字段创建索引(Multi-Valued Indexes 多值索引)
  18. 水星WM150U无线网卡开机掉驱动的解决方法
  19. php实现定时任务的两种方法
  20. 乱七八糟的笔记(%)

热门文章

  1. 《大数据时代》读书笔记——知道“是什么”就够了,没必要知道“为什么”。我们不必非得知道现象背后的原因,而是要让数据自己“发声”
  2. 阿里云云数据库(RDS)的登录问题
  3. 计算机专业修读指导论文,计算机专业网络与课堂教学整合
  4. 判断身份证:要么是15位,要么是18位,最后一位可以为字母,并写程序提出其中的年月日
  5. 解决linux“嘟嘟”的报警声
  6. 【JSP】EL表达式
  7. MySQL报错1677
  8. Centos7下安装VScode
  9. 页面最上方的搜索和logo叫什么_网页顶部导航栏设计总结
  10. 实验:树莓派通过网线连接笔记本实现网络共享