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]

Python入门系列2-数据类型_数据类型

加号+是字符串连接运算符,星号*是重复操作。

# coding=utf-8
str = 'hello'

print str  # 输出完整的字符串
print str[0]  # 输出字符串的第一个字符
print str[0:2]  # 输出字符串第一到第二个字符的字符串
print str[2:]  # 输出第三个字符后面的字符串
print str * 2  # 输出字符串两次
print str + 'test'  # 输出拼接的字符串

执行程序输出:

Python入门系列2-数据类型_类型转换_02

字符串格式化:

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

Python入门系列2-数据类型_变量赋值_03

七、元组

元组是另一个数据类型,类似于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入门系列2-数据类型_变量赋值_04

八、字典

字典是除列表以外Python中最灵活的内置数据类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别是字典中的元素是通过键来存取的,而不是通过偏移来存取,字典用{}标识,字典由索引和对应的value组成,键必须是唯一的,值可以为任何数据类型,键必须是不可变的类型,如字符串、数字。

实例如下:

dict={}
dict1={'name':'qq','age':20}

print dict

print dict1['name']

print dict1.keys() #输出所有键
print dict1.values() #输出所有值

输出结果为:

Python入门系列2-数据类型_类型转换_05

九、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'>