进制数据类型运算符

进制数据类型运算符

一、进制的表示

1.十进制

b = 98    # 在python中输入默认数字就是好十进制

2.二进制

b = 0b10001110    # 以0b开头的是二进制,但是打印出来会显示十进制

>>> bin = 0b10011100
>>> print(bin)
156

3.八进制

c = 0o    # 以0o开头的数字是八进制的数据

>>> c = 0o55614
>>> print(c)
23436

4.十六进制

d = 0x2E    # 以0x开头的是十六进制

>>> d = 0x2E
>>> print(d)
46

二、进制转换

a = 10
print(bin(10))

0b10010

bin()    # 将数字转位二进制
oct()    # 将数字转位八进制进制
hex()    # 将数字转位十六进制

三、数据类型转换

将一个类型的数据转换为另一个类型。

int ====> str

bool ====> int

int =====> float

不同的数据类型运算规则是不一样的,所以需要进行类型转换。

例如:

age = input('请输入你现在的年龄:')
age = int(age)    # input保存的变量是字符串,不能与整型变量运算
print("你去年的年龄是:%d" %(age -1 ))

# 如果不进行类型转换
	
age = input('请输入你现在的年龄:')
# age = int(age)    # input保存的变量是字符串,不能与整型变量运算
print("你去年的年龄是:%d" %(age -1 ))
# -----------#

请输入你现在的年龄:18
Traceback (most recent call last):
  File "D:/qianfeng-python/day02/字符类型转换.py", line 4, in <module>
    print("你去年的年龄是:%d" %(age -1 ))
TypeError: unsupported operand type(s) for -: 'str' and 'int'

进程已结束,退出代码为 1

1.换为整型

# 使用内置函数int()
# 如果字符串不是一个合法的数字会报错。

>>> a = '31'
>>> b = int(a)
>>> print(a + 1)      # a 的类型是字符型不能进行加减运算
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> print(b + 1)
32
# 这是吧1a2c识别为十六进制,在

a = '1a2c'
x = int(a,16)
print(x)

#=====输出结果====== # 
6700

# 转换为二进制
print(bin(x))

#=====输出结果====== # 
0b1101000101100

2.转换为浮点型

  1. 转换的数据必须是被识别为有效的浮点数,比如我们看起来像小数的。
  2. 可以把整数转换为浮点数
>>> a = '3.32'
>>> b = float(a)
>>> print(b+1)
4.32
>>> a = 100
>>> print(float(100))
100.0

3.转换为字符串

# 使用内置类str()转换为字符串
>>> b = 34
>>> c = str(34)
>>> print(c)
34
>>> print(type(c))
<class 'str'>
>>> print(type(b))
<class 'int'>

4.转换为bool类型

# 把100转换为布尔值
>>> print(bool(100))
True

# 非0之外的都是True
>>> print(bool(0))
False

# 字符串转换为bool,非空的都为True
>>> print(bool(""))
False

# None是False
>>> print(bool(None))
False

# 空列表、集合、字典、元组返回的是False
>>> a=()
>>> b={}
>>> c=[]
>>> bool(a)
False
>>> bool(b)
False
>>> bool(c)
False

在python中True表示1, False表示0

>>> print(True + 1)
2

四、运算符

1.算数运算符

运算符 用途
+
-
*
/
** 幂运算
// 取商
% 取余
() 优先运算
>>> print(True + 1)
2

>>> print(10 - 9)
1

>>> print(2 * 3)
6

# 在python2中不管能不能除尽,只会取商;在python3中会返回浮点数。
>>> print(10/5)
2.0

# 表示为4开方
>>> print(4 ** 0.5)
2.0

# 取商
>>> print(10 // 3)
3

# 取余
>>> print( 23 % 20)
3

运算在字符类型中的应用

# 起到了拼接字符串的作用。
>>> print('hello'+'nihao')
hellonihao

# 数字和字符串进行乘法运算。
>>> print('hello\n' * 2)
hello
hello

2.赋值运算符

"=" 表示赋值运算符。表示的是把等号右边的值赋值给左边的变量。

a = 4 表示的是把4赋值给变量a

等号的左边一定不能是常量或者是表达式。

>>> a = 4

>>> x = 1
>>> x = x + 2
>>> print(x)
3
# 同等于
>>> x =1
>>> x +=2
>>> print(x)
3


x = 1
# 与 x = x + 2同等功能
x += 2
x *= 2
x /= 2
x **=2
x -= 2
x %= 2

特殊的赋值

>>> a = b =c = d = 'hello'
>>> print(a,b,c,d)
hello hello hello hello

# 拆包,如果两边的个数不一致会导报错。
>>> m, n = 3, 5
>>> print(m, n)
3 5

# 元组,和元组一样,么有()
>>> x ="hello", "old", "are"
>>> print(type(x))
<class 'tuple'>

# *表示长度可变
>>> o, *p ,q = 1, 2, 3, 4, 5
>>> print(o, p, q)
1 [2, 3, 4] 5

>>> *o, p ,q = 1, 2, 3, 4, 5
>>> print(o, p, q)
[1, 2, 3] 4 5

>>> o, p ,*q = 1, 2, 3, 4, 5
>>> print(o, p, q)
1 2 [3, 4, 5]

3.比较运算符

# > 大于
# < 小于
# >= 大于等于
# <= 小于等于
# != 不等于 <> 在python中支持
# == 等于

print(6 > 4)
print(4 < 6)
print(4 >= 3)
print(5 <= 10)
print('a' != 'b')
print(2 != 2)

# 字符得比较会使用字符得编码进行比较
print('a' > 'b')
print('b' > 'a')

4.逻辑运算符

# 与 and 或 or 非 not

# 1。and 只要一个是错误的就都是False
print(2 > 1 and 3 > 2 and 4 > 1) # True
print(1 > 2 and 3> 1 and 4 == 4) # False

# 2. or 只要一个是对得都是对True
print(1 > 2 or 2 > 1 or 3 >10 ) # True

# not 取反
print(not (3 > 2))  # False

# 运算短路问题
4 > 3 and print('hello word!')
3 > 4 and print('你好世界')  # 逻辑与只要运行到False的地方就不会向后面执行了
10 > 1 and print("最后的")

# or 运算符
# 只有所有的False才是False
# 只要出现一个True就是True,所有就不会向后执行了。
4 > 3 or print('hahha')
3 > 4 or print('aaaaa')  # 因为前面的结果是False所以继续像后面执行。

5.位运算符


posted @ 2022-05-08 18:16  Gshelldon  阅读(131)  评论(0编辑  收藏  举报