01比特串异或 python_天池Python训练营Day01

天池Python训练营

Day01

变量、运算符与数据类型

1.注释

注释用于解释代码的功能,增加代码的可读性。在实际开发过程中,注释清晰对于团队协作及代码的维护来说都十分重要。注释通常分为两种:

1)整行注释

整行注释使用#标识,功能是将#后面的内容作为代码的注释。

#本行为注释内容,Python解释器不会将这行认为是代码

print('Hello,world!')

Hello,world!

2)多行注释

多行注释使用’’‘三个单引号,或者"""三个双引号表示。凡是在夹在两段’’'或者"""之间的内容均被认为是注释内容。

'''本段为注释内容:

print('Hello,world!')

print(1 + 1)

中间这段内容无论分多少行,均会被Python解释器认为是注释'''

print('Hello,world!Again!')

Hello,world!Again!

"""同理,使用双引号也是同样的效果:

print(100 * 2)

print('Hi,agin!')

"""

print('Hi,haha')

Hi,haha

多行注释可以很灵活的把多行的内容作为注释,在实际代码的编写过程中。由于Python是解释型语言,运行代码是逐行运行的,因此可以将部分代码注释掉来进行排障。

2.运算符

运算符即表示了Python的各种运算符号。包含了算术运算、比较运算、逻辑运算、位运算、三元运算符。

1.算术运算符

算术运算符即代表了Python的基础算术运算。包含了加、减、乘、除、取余、幂这几种基本的算术运算。

#加运算

print('1加1等于',1 + 1)

print('2加3等于',2 + 3)

#减运算

print('50减2等于',50 - 2)

print('100减33等于',100 - 33)

#乘运算

print('32乘以2等于',32 * 2)

print('11乘以11等于',11 * 11)

1加1等于 2

2加3等于 5

50减2等于 48

100减33等于 67

32乘以2等于 64

11乘以11等于 121

除运算稍微特殊一点。Python中包含了两种除法:除和整除(地板除)。除法即两个数相除所得的商既包含整数部分也包含小数部分,整除法的话仅保留商的整数部分。

#除法

print('4除以3等于',4 / 3)

#整除法

print('4整除3等于', 4 // 3)

4除以3等于 1.3333333333333333

4整除3等于 1

#取余即取两数相除的余数

print('4除以3的余数是',4 % 3)

print('5除以3的余数是',5 % 3)

4除以3的余数是 1

5除以3的余数是 2

#幂运算即为指定底数的次方运算

print('2的3次方为',2 ** 3)

print('10的5次方为', 10 ** 5)

2的3次方为 8

10的5次方为 100000

2.比较运算符

比较运算符即为两个数值型变量(或者具体数值)的大小或相等与否的比较。包含>(大于)、>=(大于等于)、

1)等于的符号为:“”,要和常用的数学上的“=”做区别,“=”Python上被用于赋值语句。

2)所有的比较运算的结果为布尔值。即只有True、False两种结果。

#大于

print('3大于2',3 > 2)

print('2大于3',2 > 3)

#小于

print('3小于2',3 < 2)

print('2小于3',2 < 3)

#大于等于

print('3大于等于2',3 >= 2)

print('2大于等于3',2 >= 3)

#小于等于

print('3小于等于2',3 <= 2)

print('2小于3等于',2 <= 3)

#等于

print('3等于3',3 == 3)

print('3等于2',3 == 2)

#不等于

print('3不等于3',3 != 3)

print('3不等于2',3 != 2)

3大于2 True

2大于3 False

3小于2 False

2小于3 True

3大于等于2 True

2大于等于3 False

3小于等于2 False

2小于3等于 True

3等于3 True

3等于2 False

3不等于3 False

3不等于2 True

3.逻辑运算符

逻辑运算符即表示两种布尔型变量(或值)之间的运算。包含与、或、非等。

1)与运算

两个布尔型变量(或值)进行与运算时,当且仅当两个变量(或值)均为True时结果才为True,否则均为False

print((3 > 2) and (2 > 1))

print((3 > 2) and (2 < 1))

print((3 < 2) and (2 > 1))

print((3 < 2) and (2 < 1))

True

False

False

False

2)或运算

两个布尔型变量(或值)进行或运算时,当且仅当两个变量(或值)均为False时结果才为False,否则均为True。

print((3 > 2) or (2 > 1))

print((3 > 2) or (2 < 1))

print((3 < 2) or (2 > 1))

print((3 < 2) or (2 < 1))

True

True

True

False

3)非运算

非运算仅针对单个布尔型变量(或值),即为对该变量(或值)取反。

print(not (2 > 1))

print(not (2 < 1))

False

True

4.位运算符

位运算为针对二进制的运算。主要分为~(按位取反)、&(按位与)、|(按位或)、^(按位异或)、<>(右移)。

1)原码、反码和补码

二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。

原码:

原码即为数值的二进制表示,但首字符代表的是符号位。如下所示:

00 00 00 11 首字符为0代表这是一个正数。余下的0 00 00 11的二进制数转为10进制为3,因此00 00 00 11代表3.

10 00 00 11 首字符为1代表这是一个负数。余下的0 00 00 11的二进制数转为10进制为3,因此10 00 00 11代表-3.

反码:

正数的反码就是原码,而负数的反码是符号位不变,其余位取反。

还是上面的二进制码为例:

00 00 00 11 是正数,因此它的反码即原码,00 00 00 11.

10 00 00 11 是负数,因此它的反码为首字符(符号位)不变,其余的按位取反,即11 11 11 00

补码:

正数的补码就是原码,而负数的补码是反码+1

00 00 00 11 为正数,它的补码即原码00 00 00 11

10 00 00 11 为负数,它的补码即为反码 11 11 11 00 +1,即11 11 11 01

符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。

2)按位取反

按位取反即将二进制数包含符号位的每个位都取反。因此正数会变为负数。

#先使用bin()将数字4,-5转为二进制

print('4的二进制数为',bin(4))

print('-5的二进制数为',bin(-5))

#对4的二进制数进行按位取反

print('4按位取反为',~4)

4的二进制数为 0b100

-5的二进制数为 -0b101

4按位取反为 -5

3)按位与

按位与和按位取反不同,它是针对多变量(或数值)的计算

print('4和5的按位与为',4 & 5)

4和5的按位与为 4

4)按位或

print('4和5的按位或为',4 | 5)

4和5的按位或为 5

5)按位异或

print('4和5的按位异或为',4 ^ 5)

4和5的按位异或为 1

5.其他运算符

Python的其他运算符包含:in、not in、is、not is等。这些运算符将在后面涉及到其他数据类型的时候穿插其中。

6.运算符的优先级

一元运算符优于二元运算符。例如3 ** -2等价于3 ** (-2)。

先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 1 << (3 + 2)) & 7。

逻辑运算最后结合。例如3 < 4 and 4 < 5等价于(3 < 4) and (4 < 5)。

3.变量和赋值

关于Python的变量有几个要点:

1.在使用变量之前,需要对其先赋值。

2.变量名可以包括字母、数字、下划线、但变量名不能以数字开头。变量名同样不能使用Python的系统关键字。

3.Python 变量名是大小写敏感的,foo != Foo

#变量的赋值,可以单独对每个变量赋值

a = 1

b = 2

print(a,b)

#同样可以一次对多个变量赋值

a, b = 3 , 4

print(a,b)

1 2

3 4

4.数据类型与转换

Python的数据类型很丰富。基础的主要包含整型、浮点型、布尔型。

1.整型

整型即为通常数学意义上的整数。Python使用int表示。

#如下例子所示

a = 1024

#使用Python的type()语句来查看变量的类型

print(a, '的类型为',type(a))

1024 的类型为

2.浮点型

浮点型即为通常意义上的复数。包含整数部分和小数部分。Python使用float来表示。

#如以下例子所示

a = 3.14

print(a, '的类型为',type(a))

3.14 的类型为

3.布尔型

布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False。

print(True + True) # 2

print(True + False) # 1

print(True * False) # 0

2

1

0

除了直接给变量赋值 True 和 False,还可以用 bool(X) 来创建变量,其中 X 可以是

基本类型:整型、浮点型、布尔型

容器类型:字符串、元组、列表、字典和集合

只要X不是整型的0,浮点型的0.0,容器类型的空那么bool(X)就是True,其余就是False.

#X取各种值时,bool(X)的值

print(bool(1))

print(bool(0))

print(bool(0.2))

print(bool(0.0))

print(bool([]))

print(bool([1]))

True

False

True

False

False

True

5.print()函数

print函数时Python中最重要的输出函数。它的格式如下:

print(*objects, sep=’ ‘, end=’

’, file=sys.stdout, flush=False)

1.将对象以字符串表示的方式格式化输出到流文件对象file里。默认的file参数是sys.stdout即为系统的标准输出,通常为显示器。其中所有非关键字参数都按str()方式进行转换为字符串输出;

2.关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;

3.关键字参数end是输出结束时的字符,默认是换行符

4.关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;

5.关键字参数flush是立即把内容输出到流文件,不作缓存。

str1 = 'abcefg'

str2 = 'hijklmn'

#未使用sep时,默认使用空格隔开。

print(str1,str2)

#使用sep='#'时,使用#号分开。

print(str1,str2,sep='#')

abcefg hijklmn

abcefg#hijklmn

#未使用end参数时,默认每个字母间换行

for i in str1:

print(i)

#使用end='#'时,每个字母间使用#分隔

for i in str2:

print(i,end='#')

a

b

c

e

f

g

h#i#j#k#l#m#n#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值