Python基础--基本数据类型

在python中变量不用声明,不过在使用前需要赋值,只有变量赋值后才会被创建。

a = 1
b = 'abc'

多个变量赋值

a = b = c = 1
a,b,c = 1,'hello',3.14

标准数据类型

Number(数字)

String(字符串)

List(列表)

Sets(集合)

Tuple(元组)

Dictionary(字典)、

Number(数字)

python支持int,float, boolean, complex(复数)

type()可以查询对象所属的对象类型。

a,b,c,d = 1,1.0,True,1.2j
print(type(a),type(b),type(c),type(d))


<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
View Code

还可以isinstance(a,int)

>>> isinstance(a,int)
True
>>> 

isinstance 和 type 的区别在于:

class A:
    pass

class B(A):
    pass

isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

区别就是:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。

注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。

 

删除:

del var1[,var2[,var3[....,varN]]]]

数值运算

实例

>>>5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

 

注意:
  • 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 2、一个变量可以通过赋值指向不同类型的对象。
  • 3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
  • 4、在混合计算时,Python会把整型转换成为浮点数。

Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

字符串

python中的字符串用单引号'或双引号"括起来。如果需要转义特殊符号使用反斜杠\

字符串的截取方法:

变量[头下标:尾下标]

索引值以0为开头,-1为末尾开始位置。

+是字符串的连接符,星号(*)为复制字符串,后面跟的数字为复制的次数

#!/usr/bin/python3
 
str = 'FSsuyu'
 
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串

Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

>>> word = 'FSsu\nyu'
>>> print (word)
FSsu
yu
>>> print (r'FSsu\uyu')
FSsu\uyu
>>> 

注意:python的字符串不可变,不能根据索引来赋值,否则会出错。

List(列表)

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号([])之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表

列表截取:

变量[头下标:尾下标]
>>> print(list)
['abcd', 'ccc', 2, 4]
>>> print(list[1])
ccc

其他方法与字符串类似。。(不想写了 ,你来打我呀,嘻嘻~)

与字符串不同的是,字符串不可变,而列表可以根据索引赋值:

>>> a=[1,4,5,9,10,3]
>>> a
[1, 4, 5, 9, 10, 3]
>>> a[1] = 2
>>> a
[1, 2, 5, 9, 10, 3]
>>> 

 

Tuple(元组)

tuple与列表类似,只是元组的值不可修改(这一点与字符串一样),元组的值用逗号分开,括号括起来

tup = (1,3,4,5)

使用方法与列表类似,不写了。

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

string、list和tuple都属于sequence(序列)。

Set(集合)

set(集合)是一个无序不重复的序列。

基本功能是做成员关系测试和删除重复元素。

创建集合可以用{}和set()。注意:创建一个空集合不能使用{},而要用set(),因为{}是用来创建空字典的

#!/usr/bin/python3
 
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
 
print(student)   # 输出集合,重复的元素被自动去掉
 
# 成员测试
if('Rose' in student) :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
 
 
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
 
print(a)
 
print(a - b)     # a和b的差集
 
print(a | b)     # a和b的并集
 
print(a & b)     # a和b的交集
 
print(a ^ b)     # a和b中不同时存在的元素

 

Dictionary(字典)

列表是有序的对象集合,而字典是无序的对象集合。字典是通过键来存取,而不是通过偏移来存取

字典是一种映射类型,通过key(键):value(值)对集合。

键key必须使用不可变类型。

在一个字典里,key必须是不重复的。

#!/usr/bin/python3
 
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

构造函数 dict() 可以直接从键值对序列中构建字典如下:

>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
 
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
 
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述

int(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)

将一个整数转换为一个八进制字符串

posted @ 2017-08-01 21:27  浮生素语  阅读(96)  评论(0)    收藏  举报