天池Python训练营Day01

时间:2020-9-7 作者:admin


天池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 的类型为 <class 'int'>

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

#如以下例子所示
a = 3.14
print(a, '的类型为',type(a))
3.14 的类型为 <class 'float'>

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=’\n’, file=sys.stdout, flush=False)

1.将对象以字符串表示的方式格式化输出到流文件对象file里。默认的file参数是sys.stdout即为系统的标准输出,通常为显示器。其中所有非关键字参数都按str()方式进行转换为字符串输出;
2.关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
3.关键字参数end是输出结束时的字符,默认是换行符\n;
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#

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。