python学习第一天-基础数据类型

Python数据类型详解
本文深入讲解Python中的基础数据类型,包括数字、字符、元组、列表、集合和字典等,探讨它们的特点、操作及应用场景,并解析Python数据引用机制。

基础数据类型:number(数字)、string(字符)、tuple(元组)、list(列表)、set(集合)、dictionary(字典)

不可变数据:number、string、tuple

可变数据:list、set、dictionary

number:

  1)number分为int、float、bool、complex

  2)bool分为True和False,True和False首个字母区分大小写。bool是number类型可以进行直接运算。

  3)运算 +、-、*、/、 //(除法只留整数部分,得到的并不一定是整数类型的数,它与分母分子的数据类型有关系,小数部位为0),**(乘方)、%(取余)

string:

  1)string可以直接读取,变量名[头标:尾标]

    头标:从前向后,0、1、2。。。。

    尾标:从后向前,-1、-2、-3。。。

  2)string 可以相加和相乘。

  3)Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误

  4)反斜杠可以用来转义,使用r可以让反斜杠不发生转义。\n 表示换行,r(‘abc\ndef’)。

list:

  1)string可以直接读取,变量名[头标:尾标] 同string

  2)Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 2 到索引 11 的位置并设置为步长为 4(间隔一个位置)来截取字

    x = ['a','d','c','e','f','g','h','k','q','w','e','r','t','y']
    x[2:11:4] = ['c', 'h', 'e']
  3)list切片:

    python的列表切片,1、方向由step确定,step为正时,从左往右切片,step为负时,从右往左切片。

           2、start和stop的正值代表列表下标,负值代表列表从左往右数起,倒数第几个数据。

           3、start和stop的空值分别代表列表的头尾的最后一个数据,至于start和stop空值的时候代表的是列表的头还是尾,由step的正负值决定,即由step确定列表切片的方向后决定。当step为正时,即代表从左往右切片,则start的空值代表左边的

           开头,stop的空值代表右边的结尾。当step为负值时,即代表从右往左切片,则start的空值代表右边的开头,stop的空值代表左边的结尾。

           当step为负时,start的空值代表

  4)list可以嵌套,即list的元素可以是个list。

  5)list的迭代。for x in [1,2,3]:print(x)

  

tuple:

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

set:集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。

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

  2)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:

  1)字典(dictionary)是Python中另一个非常有用的内置数据类型。

  2)列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

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

  4)键(key)必须使用不可变类型。number、string、tuple

  5)在同一个字典中,键(key)必须是唯一的。如果有重复,记录的后面的key,前面的key被覆盖。

 

Python数据引用:

1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用。即Python不允许程序员选择采用传值或传引用。Python参数传递采用的是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数参数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象——相当于通过"传值"来传递对象。
2)当复制列表或字典时,就复制了对象列表的引用,如果改变引用的值,则修改了原始的参数。
3)为了简化内存管理,Python通过引用计数机制实现自动垃圾回收功能,Python中的每个对象都有一个引用计数,用来计数该对象在不同场所分别被引用了多少次。每当引用一次Python对象,相应的引用计数就增1,每当消毁一次Python对象,则相应的引用就减1,只有当引用计数为零时,才真正从内存中删除Python对象。

del:

del删除的是引用地址,而不是value。如果有多个引用引用同一个值,删除其中一个引用,不影响其他引用。

del 是删除引用而不是删除对象,对象由自动垃圾回收机制(GC)删除

例子:>>> x = 1
>>> del x
>>> x
Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    x
NameError: name 'x' is not defined
>>> x = ['Hello','world']
>>> y = x
>>> y
['Hello', 'world']
>>> x
['Hello', 'world']
>>> del x
>>> x 
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
x
NameError: name 'x' is not defined
>>> y
['Hello', 'world']

转载于:https://www.cnblogs.com/buliudeshui/p/10456770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值