WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

Python数据类型与运算符

 

 

1.变量的数据类型

 

 

 

 2.强制类型转换

(1)str类型转int类型:int(a)

 1 # str -->int : int(a) 但如果“9.9”,而且是字符串类型转换成int类型的时候报错
 2 
 3 a = 9.9
 4 b = '9.9'
 5 
 6 print(type(a), type(b))
 7 print(int(a))
 8 print(int(b))
 9 # <class 'float'> <class 'str'>
10 # 9 <class 'int'>
11 # Traceback (most recent call last):
12 #   File "D:/PythonProject/Python基础/数据类型.py", line 8, in <module>
13 #     print(int(b))
14 # ValueError: invalid literal for int() with base 10: '9.9'

(2)str类型转float类型:float(a)

 1 # str -->float : float(b)
 2 
 3 b = '9.9'
 4 
 5 print(type(b))
 6 print(float(b))
 7 
 8 # 输出
 9 # <class 'str'>
10 # 9.9 <class 'float'>

(3)int类型转str类型:str(a)

 1 # int -->str : str(a)
 2 
 3 b = 9
 4 
 5 print(type(b))
 6 print(str(b), type(str(b)))
 7 
 8 # 输出
 9 # <class 'int'>
10 # 9 <class 'str'>

(4)float类型转str类型:str(a)

 1 # float -->str : str(a)
 2 
 3 b = 9.9
 4 
 5 print(type(b))
 6 print(str(b), type(str(b)))
 7 
 8 # 输出
 9 # <class 'float'>
10 # 9.9 <class 'str'>

(5)int类型转float类型:float(a)

 1 # int -->float : float(a)
 2 
 3 b = 9
 4 
 5 print(type(b))
 6 print(float(b), type(float(b)))
 7 
 8 # 输出
 9 # <class 'int'>
10 # 9.0 <class 'float'>

(6)float类型转int类型:int(a),只不过小数点后的数字被抹掉了。

 1 # float -->int : int(a)
 2 
 3 b = 9.9
 4 
 5 print(type(b))
 6 print(int(b), type(int(b)))
 7 
 8 # 输出
 9 # <class 'float'>
10 # 9 <class 'int'>

(7)bool类型:当变量为0或者为空字符串的时候,转成bool类型输出都为False,其他只要变量有值则为True。

 1 flag = True
 2 # bool-->int
 3 print(int(flag), type(int(flag)))
 4 # bool-->flag
 5 print(float(flag), type(float(flag)))
 6 # bool-->str
 7 print(str(flag), type(str(flag)))
 8 
 9 # 输出
10 # 1 <class 'int'>
11 # 1.0 <class 'float'>
12 # True <class 'str'>

3.运算符

(1)算术运算符:+、-、*、%、/、//、**

 1 a = 2
 2 b = 3
 3 
 4 print(b / a)  # 除法
 5 print(b // a)  # 整除
 6 print(b ** a)  # 表示b的a次方
 7 print(b % a)  # 取余
 8 
 9 # 输出:
10 # 1.5
11 # 1
12 # 9
13 # 1

(2)赋值运算符:=、+=、-=、/=、*=,%=

 1 a = 8
 2 b = 4
 3 a += b  # 等价于a=a+b
 4 print(a, b)
 5 
 6 a = 9
 7 b = 4
 8 a //= b  # 等价于a=a//b
 9 print(a, b)
10 
11 a = 9
12 b = 4
13 a %= b  # 等价于a=a%b
14 print(a, b)
15  
16 # 输出:
17 # 12 4
18 # 2 4
19 # 1 4

(3)关系运算符:>、<、=、>=、<===、!=,结果:True、False

1 a = 10
2 b = 23
3 print(a > b)  # False
4 print(a < b)  # True
5 print(a >= b)  # False
6 print(a <= b)  # True
7 print(a == b)  # False
8 print(a != b)  # True

如果是字符串比较:

ASCII 码对照表

 

1 a = 'abc'
2 b = 'acds'
3 # 按照Acill码表,一个一个字符的进行比较,
4 print(a > b)  # False
5 print(a < b)  # True
6 print(a >= b)  # False
7 print(a <= b)  # True
8 print(a == b)  # False
9 print(a != b)  # True

4.逻辑运算符

 

 1 a = 1
 2 b = 3
 3 c = 0
 4 print(a and b)  # True and True --> True
 5 # >>3
 6 print(a and c)  # True and False --> False 一假即假
 7 # >>0
 8 print(a or b)  # True and True --> True
 9 # >>1
10 print(b or c)  # True and False --> True 一真即真
11 # >>3
12 flag = True
13 print(not flag)
14 # >> False

5.身份运算符和成员运算符

   判断一个元素是否在某一个序列中。比如判断一个字符是否属于某个字符串,判断某一个对象是否在某个列表中等等。

“in”.意思是,如果在指定的序列中找到了,那么结果是True,如果没有找到,那么结果是False.

成员操作符的使用语法是:

            obj [not] in sequence

  这个操作符返回值是True或者False。obj可以是int、float、str, int与float不区分。sequence并非一定【】形式

1 a = [1, 5, 2, 5, 4]
2 b = 5
3 c = [1, 5, 4, 3]
4 print(c in a)
5 # >> False
6 print(b in a)
7 # >> True
8 print(c not in a)
9 # >> Treu

6.运算符的优先级

 

 7.输出语句

 

 

 1 name = '周杰伦'
 2 age = 26
 3 print('我喜欢听%d岁的%s唱歌' % (age, name))
 4 # >>我喜欢听26岁的周杰伦唱歌
 5 print('我喜欢听%s岁的%s唱歌' % (age, name))
 6 # >>我喜欢听26岁的周杰伦唱歌 --中间的%s强制类型转换
 7 
 8 
 9 age = 25
10 name = 'Caroline'
11 print('{0} is {1} years old. '.format(name, age))  # 输出参数
12 # >>Caroline is 25 years old.
13 print('{0} is a girl. '.format(name))
14 # >>Caroline is a girl.
15 print('{0:.3} is a decimal. '.format(1 / 3))  # 小数点后三位
16 # >>0.333 is a decimal.
17 print('{0:_^11} is a 11 length. '.format(name))  # 使用_补齐空位
18 # >>_Caroline__ is a 11 length.
19 print('{first} is as {second}. '.format(first=name, second='Wendy'))  # 别名替换
20 # >>Caroline is as Wendy.
21 print('My name is {0.name}'.format(open('out.txt', 'w')))  # 调用方法
22 # >>My name is out.txt
23 print('My name is {0:8}.'.format('Fred'))  # 指定宽度
24 # >>My name is Fred    .

 

posted @ 2022-03-19 19:14  Ambitious~  阅读(41)  评论(0)    收藏  举报