Python的变量是存储在内存中的值,这就意味着我们在创建变量时会在内存中开辟一个空间,基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中,因此变量可以指定不同的数据类型,这些变量可以存储整数、小数或字符。
一、变量赋值
Python中的变量赋值不需要类型声明。每个变量在内存中创建,都包含变量的标识、名称和数据这些信息。每个变量在使用前必须赋值,变量赋值之后该变量才会被创建,Python使用=来给变量赋值,=运算符左边是一个变量名,=运算符右边是存储在变量中的值。
# coding=utf-8
name='qq'
age=20
money=5000.0
二、多个变量赋值
Python允许同时为多个变量赋值:
a=b=c=1
也可以为多个对象指定多个变量
# coding=utf-8
a, b, c = 1, 2, 3
三、标准数据类型
Python定义了一些标准类型,用于存储各种类型的数据:
Numbers:数字
String:字符串
List:列表
Tuple:元组
Dictionary:字典
Set:集合
不可变数据:Number、String、Tuple
可变数据:List、Dictionary、Set
四、数字
数字数据类型用于存储数值,他们是不可改变的数据类型,这意味着改变数据类型会分配一个新的对象,当你指定一个值时,Number对象就会被创建。
# coding=utf-8
a = 1
b = 2
可以使用del语句删除一些对象的引用。del语句的语法是del var1,var2
a = 1
b = 2
print a
print b
del a,b
Python支持四种不同的数字类型:
int(有符号整型)
long(长整型)
float(浮点型)
complex(复数)
数字类型转换:
int(x):将x转换为一个整数
float(x):将x转换为一个浮点数
complex(x):将x转换到一个复数,实数部分为x,虚数部分为0
常用方法实例:
# coding=utf-8
from math import *
from random import *
# 返回绝对值
print(abs(-1))
# 返回数字的上入整数
print(ceil(4.1))
# 返回数字的下舍整数
print(floor(4.1))
# 返回最大值
print(max(2, 3, 5))
# 返回最小值
print(min(2, 3, 5))
# 返回x**y的值
print(pow(2, 3))
# 返回浮点数的四舍五入值
print(round(3.426, 2))
print('---------')
# 随机挑选一个元素
print(choice(range(10)))
# 随机数
print(random())
list = [1, 2, 3]
# 元素随机排序
shuffle(list)
print(list)
输出:
1
5
4
5
2
8.0
3.43
---------
4
0.34905678619341574
[2, 3, 1]
五、字符串
字符串由数字、字母、下划线组成的一串字符。
取值顺序有2种,分别是左到右默认从0开始,最大范围是字符串长度减1。从右到左默认-1开始。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
s='abcdef'
print s[1:5]
加号+是字符串连接运算符,星号*是重复操作。
# coding=utf-8
str = 'hello'
print str # 输出完整的字符串
print str[0] # 输出字符串的第一个字符
print str[0:2] # 输出字符串第一到第二个字符的字符串
print str[2:] # 输出第三个字符后面的字符串
print str * 2 # 输出字符串两次
print str + 'test' # 输出拼接的字符串
执行程序输出:
字符串格式化:
name = 'qq'
age = 20
print('我的名字是:%s,年龄是%d' % (name, age))
输出:
我的名字是:qq,年龄是20
六、列表
List是Python中使用最频繁的数据类型,列表可以完成大多数集合类的数据结构实现,它支持字符、数字、字符串等。列表用[ ]标识,是Python最通用的复合数据类型。列表中值的切割也可以用到变量[头下标:尾下标]就可以截取相应的列表,从左到右默认从0开始,从右到左默认-1开始,下标为空表示取头或尾。列表中的元素是可以改变的。
常用方法:
方法名 | 描述 |
list.append(obj) | 在列表末尾添加新的元素 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index,obj) | 将元素从对应索引位置插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素) |
list.reverse() | 反转列表中的元素 |
list.sort() | 对列表进行排序 |
list.clear() | 清空列表 |
加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:
# coding=utf-8
list = ['a', 'b', 'c', 'd']
list1 = ['e', 'f']
print list
print list[0]
print list[1:3]
print list[2:]
print list1 * 2
print list + list1
七、元组
元组是另一个数据类型,类似于List列表,元组用()标识,内部元素用逗号隔开,但是元组不能二次赋值,相当于只读列表。
常用运算符:
操作符 | 描述 | 实例 |
len() | 计算元素个数 | len(tup) |
+ | 连接 | tup1+(3,4) |
* | 复制 | tup1*2 |
in | 元素是否存在 | 3 in tup |
[] | 读取第几个元素 | tup[0] |
[:] | 截取元组中的一部分 | tup[1:2] |
实例如下:
tuple1 = ('a', 'b', 'c', 'd')
tuple2 = ('e', 'f')
print tuple1
print tuple1[0]
print tuple1[1:3]
print tuple1[2:]
print tuple2 * 2
print tuple1 + tuple2
八、字典
字典是除列表以外Python中最灵活的内置数据类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别是字典中的元素是通过键来存取的,而不是通过偏移来存取,字典用{}标识,字典由索引和对应的value组成,键必须是唯一的,值可以为任何数据类型,键必须是不可变的类型,如字符串、数字。
实例如下:
dict={}
dict1={'name':'qq','age':20}
print dict
print dict1['name']
print dict1.keys() #输出所有键
print dict1.values() #输出所有值
输出结果为:
九、Set(集合)
集合可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典,集合是一个无序的不重复的元素序列,集合内的元素可以改变。
实例如下:
set1={'a','b','c','a'}
print(set1)
#添加
set1.add('d')
print(set1)
set1.remove('d')
print(set1)
输出:
{'b', 'a', 'c'}
{'d', 'b', 'a', 'c'}
{'b', 'a', 'c'}
十、数据类型转换函数
int():将float、bool、str类型的数据转换为int类型数据。
f = 8.2
b = False
s = '2'
print(int(f))
print(int(b))
print(int(s))
输出:
8
0
2
bool():将int、float、str类型的数据转换为bool类型。
a1 = 0
a2 = 1
b1 = 0.0
b2 = 1.0
s1 = ''
s2 = 'a'
print(bool(a1))
print(bool(a2))
print(bool(b1))
print(bool(b2))
print(bool(s1))
print(bool(s2))
输出:
False
True
False
True
False
True
float():将int、bool、str类型的数据转换为float类型的数据。
a = 1
b = False
s = '1'
print(float(a))
print(float(b))
print(float(s))
输出:
1.0
0.0
1.0
str():将int、float、bool、list、tuple、set、dict类型数据转换为str类型
a = 1
b = False
f=3.4
str1=str(a)
str2=str(b)
str3=str(f)
print(type(str1))
print(type(str2))
print(type(str3))
输出:
<class 'str'>
<class 'str'>
<class 'str'>