python 基本数据类型

一、变量赋值

1.python中的变量不需要声明,每个变量在使用前必须赋值,该变量赋值以后被创建。

一个变量通过赋值指向不同的类型。

2.允许多个变量同时赋值,也可以为多个变量指定多个对象。

  

二、标准数据类型

Number(数字)、String(字符串)、List(列表)、Tuple(元祖)、Set(集合)、Dictionary(字典)

1.Number(数字)

Python3 支持 int、float、bool、complex(复数)

内置的 type() 函数可以用来查询变量所指的对象类型。

用isinstance来判断:

 <1>isinstance 和 type() 函数可以用来查询变量所指的对象类型。在判断继承关系时两者有区别区别:

  (1) type()不会认为子类是一个父类类型.

(2)isinstance()会认为子类是一个父类类型.

class A:
    pass
class B(A):
    pass

isinstance(A(),A)
True
type(A())==A
True

isinstance(B(),A)
True

type(B())==A
False

类似is和==的区别:

is是指向判断的对象所在的地址是否相同,==判断value值是否相同。

isinstance(变量名,类型):判断该变量是否是该类型,或者是否是该类和该类的父类类型

 type(变量名):获取该变量名的类型,结合==判断该变量的类型是否等于目标类型(等号右边value值)。

 

<2> 创建Number对象:当指定一个值时,Number对象被创建

       删除:del ,通过使用del语句删除单个或多个对象

x=1

y=2

print(x)
1

del(x)

print(x)
Traceback (most recent call last):

  File "<ipython-input-45-fc17d851ef81>", line 1, in <module>
    print(x)

NameError: name 'x' is not defined
x=5

y=6

print(x,y)
5 6

del x,y

print(x,y)
Traceback (most recent call last):

  File "<ipython-input-55-b9cd30493a4c>", line 1, in <module>
    print(x,y)

NameError: name 'x' is not defined

<3>数值运算:

2/4   #除法,得到一个浮点数
Out[56]: 0.5

2//4  #除法,得到一个整数
Out[57]: 0

2**5  #乘方
Out[58]: 32

  2.List(列表)

      

 (1)List写在方括号之间,元素用逗号隔开

t=['a','b','c','d','e','f','g']

 (2)和字符串一样,List可以被索引和切片。从左往右下标从0开始,从右往左下标从-1开始。

 (3)List可以用+进行拼接,*是重复操作。

 t1=['a','b','c']
 print(t+t1)
 ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'c']

 

print(t*2)
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']

(4)List中的元素是可以改变的,Python中的字符串不能改变。

t[0]=1
print(t)
[1, 'b', 'c', 'd', 'e']
t2='abcdefg'

t2[0]=1
Traceback (most recent call last):

  File "<ipython-input-89-5dfc673da11f>", line 1, in <module>
    t2[0]=1

 (5)Python 列表截取可以接收第三个参数,参数作用是截取的步长。

t[1:4:1]
['b', 'c', 'd']

t[1:4:2]
['b', 'd']

   如果第三个参数为负数表示逆向读取

t[2: :-1]
['c', 'b', 'a']

 t[1: :-1]
 ['b', 'a']

(6)列表中的元素类型可以不同

t=[1,2,'3',2.2]

print(t)
[1, 2, '3', 2.2]

3.Tuple(元组)

(1)元组与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

s1=(1,2,3,4,5,6)

print(s1[0])
1

print(s1[3])
4

s1[0]=13
Traceback (most recent call last):

  File "<ipython-input-104-5d738ff0c428>", line 1, in <module>
    s1[0]=13

TypeError: 'tuple' object does not support item assignment

(2)元祖中的元素类型可以不同

 s2=(1,2,'abcd',13.14,'hello')

(3)元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取。其实,可以把字符串看作一种特殊的元组。可以被索引和切片。

s2[2:]
Out[107]: ('abcd', 13.14, 'hello')

s2[1:4:2]
Out[108]: (2, 13.14)

s2[2: :-1]
Out[109]: ('abcd', 2, 1)

s2[2:4:-1]    #第三个元素为负数,代表逆向输出,第二个元素不能写
Out[110]: ()

(4)元组也可以使用+操作符进行拼接。

(5)虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表,List列表中的元素可以改变

tuple_a = (1,[1,2,3])
print(tuple_a)
(1, [1, 2, 3])

tuple_a[1][0]='a'

print(tuple_a)
(1, ['a', 2, 3])

6.创建空元组:

s=()#创建空元祖

print(s)
()

 创建包含一个元素的元组,需要在元素后面添加逗号来消除歧义

s2=(20,) #一个元素需要在后面添加逗号

4.Set集合

 (1)集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

 (2)基本功能是进行成员关系测试和删除重复元素。

 (3)可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() , { } 是用来创建一个空字典

ss={1,2,3,4,5}

print(ss)
{1, 2, 3, 4, 5}

ss=(1,2,3)

print(ss)
(1, 2, 3)

set()   #只能用()创建空集合
Out[134]: set()  

set{}
  File "<ipython-input-135-bcdbceb6c654>", line 1
    set{}
       ^
SyntaxError: invalid syntax

 (4)Set集合中,重复的元素会被自动去掉。

ss={1,111111,1,1,1}

print(ss)
{1, 111111}

  (5)Set中成员测试

set={'abc','bcd','google','baidu','abc','zhihu'}
print(set)

#成员测试
if 'abc' in set:
    print('abc在set集合中')
else:
    print('abc不在set集合中')
    

  

 (6)set中的集合运算

a = set('abracadabra')
b = set('alacazam')

 a = set('abracadabra')
b = set('alacazam')

print(a-b)  #差集
{'d', 'r', 'b'}

print(a|b)  #并集
{'a', 'm', 'd', 'l', 'c', 'r', 'z', 'b'}

print(a&b)  #交集
{'a', 'c'}

print(a^b)  #a与b中不同时存在的元素
{'r', 'z', 'm', 'd', 'l', 'b'}

5.Dictionary(字典)

(1)列表是有序的对象集合,字典是无序的对象集合。

        两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

(2)字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。它的元素是键值对。

d={'name':'zhangchen','wendu':'35.6','riqi':'10.12'}

print(d)
{'name': 'zhangchen', 'wendu': '35.6', 'riqi': '10.12'}

 print(d.keys())  #输出所有键
dict_keys(['name', 'wendu', 'riqi'])

print(d.values())  #输出所有值
dict_values(['zhangchen', '35.6', '10.12'])

(3)键(key)必须使用不可变类型,且不能重复。在同一个字典中,键(key)必须是唯一的。

(4)创建空字典使用{ }。dict={}

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

dict([('R', 1), ('G', 2), ('T', 3)])
Out[166]: {'R': 1, 'G': 2, 'T': 3}

dict(Ru=1, Go=2, Ta=3)
Out[167]: {'Ru': 1, 'Go': 2, 'Ta': 3}

{x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

小结:

       1.当指定一个值时,Number对象就会被创建。del可以进行删除。

       2.字符串转义,在print中引号前加r不发生转义。

       3.List中的元素是可以改变的,Python中的字符串不能改变。

       4.List写在[]里,Touple写在()里,两个类似,但Touple中的元素不能修改。

       5.元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取。可以把字符串看作一种特殊的元组。

       6.列表是有序的对象集合,字典是无序的对象集合。

           两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

        7.List=[ , , , ]  中括号

           Touple=( , , ,)  小括号

           set=( , , ,) set={ , , ,} 小括号和大括号,但空集合必须用小括号

           dict={  : }键值对

         

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值