变量存储在内存中的值,表名在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
1、变量赋值
Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。
每个变量在内存中创建,都包括变量的标识、名称和数据。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
2、多个变量赋值
允许同时为多个变量赋值,如:
a = b = c = 1 #三个变量被分配到相同的内存空间上
也可以为多个对象指定多个变量,如:
a, b, c = 1, 2, "john"
3、Python有五个标准的数据类型
3.1 Numbers(数字)
3.2 String(字符串)
3.3 List(列表)
3.4 Tuple(元组)
3.5 Set(集合)
3.6 Dictionary(字典)
注意:数字和字符串是基本数据类型;
4、Python数字
数字数据类型用于存储数值,是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
可通过使用del语句删除单个或多个对象。
Python支持四种不同的数值类型:
4.1 int(有符号整型(也可以用八进制和十六进制表示))
是无小数部分的数。
八进制表示整数时,数值前加前缀0;十六进制表示整数时,数值前加前缀0x或0X。
如:527, 0325, 0x829.
4.2 long(长整型(也可以代表八进制和十六进制表示))
是大整数。
可以使用大写"L",也可小写"l",但建议使用大写"L",避免与数字"1"混淆。
4.3 float(浮点型)
有小数部分的数。
如:3.1415926, 32.5E+3, 5.27e-1.
4.4 complex(复数型)
实数(整数或浮点数)和虚数的和,用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
如:5+9j.
4.5 bool(布尔型)
只有两个值,即True和False。
True是1,正确的意思;False是0,错误的意思。
5、Python字符串
5.1 字符串表示
字符串或串(String)是由数字、字母、下划线组成的一串字符,是编程语言中表示文本的数据类型。
字符串不可修改。
字符串用引号标识,引号可以是单引号、双引号、三引号,一般记为:
s1='It is a "dog"'
s2="It's a dog"
s3='''You are the one whom I've been in "love" with'''
s4="""Long time no see
Yeah, it's been two years"""
注意:
单引号引起来的字符串中可包含双引号,但不可包含单引号,且不可换行;
双引号引起来的字符串中可包含单引号,但不可包含双引号,且不可换行;
三引号指,三个单引号或三个双引号,引起来的字符串中可包含单、双引号,可换行且保留格式;
5.2 转义符
对于字符串中有引号,可使用单双引号交叉使用;但也可使用转义符\对引号进行转义;
s1="It is a \"dog\""
s2='It\'s a dog'
s3="Long time no see\nYeah, it's been two years"
注意:若希望原样保留转义字符,不做任何处理,可在字符串前加r;
s4=r"Long time no see\nYeah, it's been two years"
5.3 字符串的重复
除手动输入,还可使用字符串的重复运算符*;
s="Love you\n"*5
5.4 子字符串
若希望取一个字符串中的子字符串,使用索引运算法[],或使用切片运算法[:];
对于切片运算符,[a:b]是指从a下标开始到b-1下标;[:b]是指从0下标开始到b-1下标;[a:]是指从下标a到字符串最后一个字符的下标;
s='''You are the one whom I've been in "love" with'''
s1=s[:3]
s2=s[3:]
s3=s[4:7]
print s1 #输出:You
print s2 #输出: are the one whom I've been in "love" with
print s3 #输出:are
Python中没有数组概念,与数组最接近的概念是列表和元组。
6、Python列表
列表(list)用来存储一连串元素的容器,支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。是python最通用的复合数据类型。
列表可修改。
列表用方括号[ ]标识,一般记为:
list=[123 , "abc" , [5,6,7]]
7、Python元组
元组(tuple)不可修改,即元素不能二次赋值,相当于只读列表。
元组用圆括号()标识,内部元素用逗号隔开,一般记为:
tuple = (123 , 'abc' , (4 , 5, 6))
tuple[0] = 789 #元组中非法应用
8、Python集合
集合(set)中的元素都是唯一的;
集合有两个功能:建立关系;消除重复元素。
集合的格式为:set(元素)
a=set("tianwencheng")
b=set("yuqian")
x=a&b # 交集:set(['i','a','n'])
y=a|b # 并集:set(['a','c','e','g','h','i','n','q','t','u','w','y'])
z=a-b # 差集:set(['c','e','g','h','t','w'])
h=set(a) # 去除重复元素:set(['a','c','e','g','h','i','n','t','w'])
9、Python字典
字典(dictionary),又关联数组,是除列表以外python之中最灵活的内置数据结构类型。
列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用花括号{ }标识,由索引(key)和它对应的值value组成,一般记为:
<pre name="code" class="python">tinydict = {}
tinydict['name'] = 'john'# 添加字典中项目
tinydict = {'code':6734, 'dept': 'sales'}
print tinydict['code'] # 输出键为'code'的值:6734
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
10、Python数据类型转换
对数据内置的类型进行转换,只需将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |