python学习(变量、运算符与数据类型)
- 注释
注释大体上可以分为两种,一种是单行注释,另外一种是多行注释,多行注释有两种不同的表示方法
单行注释:#这里是注释
# _*_coding : UTF-8_*_
# 开发团队 : 梦之队
# 开发人员 : User
# 开发时间 : 2020/8/18 16:29
# 文件名称 : TEST0.PY
# 开发工具 : PyCharm
多行注释:(1) ‘’’
这里是注释
这里是注释
这里是注释
‘’’
'''
这是注释
这也是注释
这还是注释
'''
(2) """
这是注释
这是注释
这是注释
"""
"""
这是注释
这也是注释
这还是注释
"""
- 运算符
运算符大体上可以分为六种
(1)算数运算符:加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、乘方(**)
print(1+1)
print(1-1)
print(1*1)
print(3/2)
print(3//2)#整除
print(3%2)#取余
print(3**2)#乘方
(2)比较运算符:> < >= <= == !=
print(1>2)
print(1<2)
print(1>=2)
print(1<=2)
print(1==2)
print(1!=2)
(3)逻辑运算符:and or not。比较运算符和逻辑运算符的结果一般都是boll类型
print((2>1) and (1>2))
print((2>1) or (1>2))
print(not(2>1))
(4)位运算符:~(按位取反) &(按位与) |(按位或) ^(按位异或,相同为0,不同为1) <<(左移运算符) >>(右移运算符)
print(~4)
print(4&5)
print(4|5)
print(4^5)
print(4<<2)
print(4>>2)
(5)三元运算符:
small = x if x<y else y(small为x和y之中较小的那一个)
x,y = 4,5
small = x if x<y else y
print(small)
(6)其他运算符:is(是)、is not(不是)、in(存在)、not in(不存在)
例如
a = “hello”
b = “hello”
c = [“hello”]
d = [“hello”]
则 a == b为真,a is b为真,c==d为真,c is d为假。用文字表述就是is比较的是两个变量的地址值,而 == 比较的是两个变量的值。对于地址不可变的类型,比如str来说,==和is是一样的,而对于地址可变的类型,如list,dict,tuple来说,==和is是有差别的。
a = "hello"
b = "hello"
c = ["hello"]
d = ["hello"]
print(a == b)
print(a is b)
print(c == d)
print(c is d)
运算结果为
True
True
True
False
-
运算符的优先级:
(1)一元运算符大于二元运算符大于三元运算符
(2)算术运算>移位运算>位运算
(3)逻辑运算最后结合
(4)运算符的优先级一样时,要根据结合性来判别运算的顺序。
注:在编写代码时可以通过加小括号的方式来避免因运算符的优先级而产生的错误。 -
变量和赋值
在使用一个变量之前,必须要对这个变量进行赋值,变量的名称可以包括字母,数字,下划线,但是不能以数字开头。还有大小写也要区分。 -
数据类型与转换
数据类型可以分为基本数据类型和容器数据类型
基本数据类型有int(整型),float(浮点型),bool(布尔型)。容器数据类型有str(字符),tuple(元组),list(列表),dict(字典),set(集合)。
(1)整型:type(a)可以返回a的类型,dir()函数中的参数可以是数据类型,这时返回值为该类型的属性和方法。如果是无参的话,返回值就是前面代码中所有变量的值与其相对应的类型。
(2)浮点型:浮点型就是有小数部分
a=0.03
b=3e-2
这两种表示方法的结果是一样的。这里还学到了保留小数点后n位的方法。
先引入包decimal,然后从decimal中引入Decimal,其中的decimal.getcontext().prec方法是保留位数的方法,默认是28位,如果令decimal.getcontext().prec=4,那么保留的位数就是4位,注意,这里的变量都要用Decamal()来表示。即
c = Decimal(1)/ Decimal(3)
import decimal
from decimal import Decimal
c = Decimal(1)/Decimal(3)
print(c)
decimal.getcontext().prec=4
d = Decimal(1)/Decimal(3)
print(d)
0.3333333333333333333333333333
0.3333
(3)布尔型:其只有两个值True与False,在数字运算中可以用1和0来代替。
除了直接给变量赋值外(c = True),还可以用bool(X)来创建对象,其返回值也是True或False,其中X可以为基本类型或者容器类型。只要X有内容,bool(X)就为True,否则为False。
上述讲到了一种获取变量类型信息的方法。type(),还有一种方法是isinstance()。
比如isinstance(1,int)的值就为真
而isinstance(1,float)的值就为假。但是这两者是有区别的
其中type()不考虑继承关系,而isinstance()考虑继承关系。继承关系到下面会学到。
类型转换:只需要在变量前加上所要转换的类型名称,并给变量加上小括号就可。例如
int(52.3)的值为52。
- print()函数
print()函数可以输出变量的值其中除了我们所熟知的object外,还有sep和end,以及file和flush,只不过后面这四个都有一个默认值,当我们需要控制输出格式时,可以修改这四个来实现自己的目的。
a = ['first','second','third']
for item in a:
print(item)
first
second
third
sep是分隔符,默认是空值,如果输出的是两个元素,通过设置sep的值(比如sep = &)可以在这两个元素之间以sep的值(&)来分开。
b = ['first','second','third']
for item in b:
print(item,'apple',sep='@@@')
first@@@apple
second@@@apple
third@@@apple
end默认是换行符,不需要换行时可以令end = ’ '。
c = ['first','second','third']
for item in c:
print(item,end='')
firstsecondthird
file是定义;流输出的文件,默认值时标准的系统输出,当然也可以重新定义为其他的文件。
flush表示输出的内容是否缓存,默认时不缓存。
以上就是今天学到的内容。