文章目录
- Python(四)——变量的定义和简单使用
- 1、变量的定义
- 2、变量的简单使用
- 3、类型转换
Python(四)——变量的定义和简单使用
1、变量的定义
定义变量语法格式:
variable_name = variable_name
variable_name表示变量名;
variable_name表示值,也就是要存储的数据。
使用实例
a = 85 #将整数赋值给变量a
abc = "http://c.abc.net/" #将字符串赋值给变量abc
abc = "http://c.efg.net/" #修改变量的值
#将表达式的运行结果赋值给变量
sum = 100 + 200
2、变量的简单使用
Python是弱类型语言,弱类型语言有下面两个特点:
- 变量不用先声明就可以直接赋值,对一个没声明的变量赋值就相当于定义了一个新变量。
- 变量的数据类型可以改变,如,一个变量可以先被赋值为字符串,后再被赋值为整数。
在Python中,为了应对不同的业务需求,把数据分为下面几种类型:
- Number(数字)
• int:有符号整型
• long:长整型,也可以代表八进制和十六进制(Python3中没有)
• float:浮点型
• complex:复数
• String(字符串)
• boolean 布尔类型
• True 真
• False 假
• List(列表)
• Tuple(元组)
• Set(集合)
• Dictionary(字典)
长整型 int
不管对于多大或者多小的整数,Python 3.x 只用 int 一种类型存储,表示为长整型,并且整数的取值范围是无限的,
如下实例:
#将 7 赋值给变量 n
n = 7
print(n)
#查看数据类型
print( type(n) )
#给x赋值一个很大的整数
x = 1111111111111111111111
print(x)
#判断x是否为int类型
print(isinstance(x,int))
#给y赋值一个很小的整数
y = -1111111111111111111111
print(y)
print( type(y) )
执行结果:x和y是极大的数字和极小的数字,Python 都能正确输出且不会发生溢出
7
<class 'int'>
1111111111111111111111
True
<class 'int'>
-1111111111111111111111
<class 'int'>
浮点型 flout
Python 只有一种小数类型,就是 float,像int一样Python能存储极小和极大的浮点数。
如下实例:
f1 = 15.9
print("f1Value: ", f1)
print("f1Type: ", type(f1))
f2 = 0.319452585712345303
print("f2Value: ", f2)
print("f2Type: ", type(f2))
f3 = 0.0000000000000000000000000123
print("f3Value: ", f3)
print("f3Type: ", type(f3))
f4 = 31945258573194525857.12345
print("f4Value: ", f4)
print("f4Type: ", type(f4))
f6 = 15.9 * 0.1
print("f6Value: ", f6)
print("f6Type: ", type(f6))
执行结果:
f1Value: 15.9
f1Type: <class 'float'>
f2Value: 0.3194525857123453
f2Type: <class 'float'>
f3Value: 1.23e-26
f3Type: <class 'float'>
f4Value: 3.1945258573194527e+19
f4Type: <class 'float'>
f6Value: 1.59
f6Type: <class 'float'>
- 由上面结果可以看出,print 在输出浮点数时,会根据浮点数的长度和大小适当的进行舍去,或采用科学计数法输出。
布尔型 boolean
布尔类型代表某个事情的真或假,True表示真,False表示假,True 和 False 是 Python 中的关键字,输入时要注意首字母大写:
sex = True
gender = False
print("sex: ", sex)
print("gender: ", gender)
执行结果:
sex: True
gender: False
布尔类型的True和False可以当做整数, True 相当于整数值 1,False 相当于整数值 0:
print(True+10)
print(False+10)
执行结果:
11
10
字符串 String
Python中的字符串必须用单引号 ’ 或双引号 " 括起来,
具体格式:
"字符串内容"
'字符串内容'
简单使用:
str1 = '字符串1'
str2 = "字符串2"
str3 = 'I\'m a single!'
str4 = r'Ru\noob'
print(str1)
print(str2)
print(str3)
print(str4)
执行结果:
字符串1
字符串2
I'm a single!
Ru\noob
- 字符串的内容可以包含字母、标点、特殊符号、中文等全世界的所有文字,
- 可以使用反斜杠
\
转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串
字符串换行:
想换行书写一个较长的字符串,需要在每行的行尾添加反斜杠\
:
str5 = 'Reduce the indexing time and CPU load \
with pre-built Python packages shared indexes \
Download pre-built shared indexes.'
三个双引号"""
或者三个单引号'''
也可以换行书写字符串:
str6 = '''Reduce the indexing time and CPU load
with pre-built Python packages shared indexes
Download pre-built shared indexes.'''
列表 List
列表会将所有元素都放在一对中括号[ ]
里面,相邻元素之间用逗号,
分隔;
列表中元素个数没有限制,只要是 Python 支持的数据类型就可以,但同一列表中只放入同一类型的数据,这样可以提高程序的可读性;
创建列表实例:
num_list = [1, 2, 3, 4, 5, 6]
language_list = ['java', "c++", "Python"]
print(num_list)
print(language_list)
执行结果:
[1, 2, 3, 4, 5, 6]
['java', 'c++', 'Python']
元组 tuple
元组和列表类似,也是由一系列按特定顺序排序的元素组成。
元组和列表的不同之处在于:
- 列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列;
- 而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列,因此元组用于保存无需修改的内容。
创建元组:
age_tuple = [16, 17, 18, 19, 20]
print(age_tuple)
执行结果:
[16, 17, 18, 19, 20]
字典 dict
字典是一种无序可变的序列,在这种序列中,每个元素都以key-value的方式被保存,就像 json字符串那样。
创建字典语法:字典中的元素都包含两部分,分别是键(key)和值(value),键和值之间使用冒号:
分隔,相邻元素之间使用逗号,
分隔,并且同一字典中的key必须唯一,不能重复。
dict_name = {'key':'value1', 'key2':'value2', ...}
创建字典实例:
user = {'name':'皓明', 'age':18, 'sex':'男'}
print(user)
#type() 函数查看变量类型
print(type(user))
执行结果:
{'name': '皓明', 'age': 18, 'sex': '男'}
<class 'dict'>
3、类型转换
函 数 | 作 用 |
int(x) | 将 x 转换成整数 |
float(x) | 将 x 转换成浮点数 |
str(x) | 将 x 转换为字符串 |
bool() | 将 x 转换成布尔值 |
转换成整数类型
print('=====================字符串转整数=============================')
a = '345'
print(type(a))
print(type(int(a)))
print('=====================浮点数转整数=============================')
b = 3.45
print(type(b))
print(int(b))
print(type(int(b)))
print('=====================布尔值转整数=============================')
c = True
print(type(c))
print(int(c))
print(type(int(c)))
d = False
print(type(d))
print(int(d))
print(type(int(d)))
执行结果:
- 如果将浮点数转成整数,那么返回的值是小数点前面的数
- 如果字符串中包含小数点或字母等非法字符(如‘1.23’或‘123ab’),在转换成整数时会报错
=====================字符串转整数=============================
<class 'str'>
<class 'int'>
=====================浮点数转整数=============================
<class 'float'>
3
<class 'int'>
=====================布尔值转整数=============================
<class 'bool'>
1
<class 'int'>
<class 'bool'>
0
<class 'int'>
转换成字符串
print('=====================整数转字符串=============================')
e = 123
print(type(e))
print(str(e))
print(type(str(e)))
print('=====================浮点数转字符串=============================')
f = 1.23
print(type(f))
print(str(f))
print(type(str(f)))
print('=====================布尔值转字符串=============================')
print(str(c))
print(str(d))
执行结果:
=====================整数转字符串=============================
<class 'int'>
123
<class 'str'>
=====================浮点数转字符串=============================
<class 'float'>
1.23
<class 'str'>
=====================布尔值转字符串=============================
True
False
转换成浮点数
print('=====================字符串转浮点数=============================')
g = '3.45'
print(type(g))
print(float(g))
print(type(float(g)))
print('=====================整数转浮点数=============================')
h = 345
print(type(h))
print(float(h))
print(type(float(h)))
执行结果:
=====================字符串转浮点数=============================
<class 'str'>
3.45
<class 'float'>
=====================整数转浮点数=============================
<class 'int'>
345.0
<class 'float'>
转换成布尔值
print('=====================整数转布尔值=============================')
i = 2
print(type(i))
print(bool(i))
print(type(bool(i)))
j = 0
print(type(j))
print(bool(j))
print(type(bool(j)))
print('=====================字符串转布尔值=============================')
k = 'abc'
print(type(k))
print(bool(k))
print(type(bool(k)))
l = ''
print(type(l))
print(bool(l))
print(type(bool(l)))
执行结果:
- 非0整数转为布尔值返回True,整数0转为布尔值返回False
- 非0浮点数转为布尔值返回True,浮点数0.0转为布尔值返回False
- 只要字符串、列表、元组、字典中有内容,那么在转为布尔值的时候就返回True
=====================整数转布尔值=============================
<class 'int'>
True
<class 'bool'>
<class 'int'>
False
<class 'bool'>
=====================字符串转布尔值=============================
<class 'str'>
True
<class 'bool'>
<class 'str'>
False
<class 'bool'>