python入门1——数据类型

数据的多态性
对于不同的数据类型,+号对不同对象具有不同的意义。对于数字为加法,对于字符串为合并。这是python的一般特性,也就是多态。这种多态的特性通常可以自动地适用于不同类型的对象。
在这里插入图片描述

数据的不可变性
字符串在python中具有不可变性——在创建后不能就地改变。例如,不能通过对其某一位置进行赋值而改变字符串,但总是可以通过建立一个新的字符串并以同一个变量名对其进行赋值。在python中的每一个对象都可以分为不可变性或者可变性。在核心类型中,数字,字符串和元组是不可变的;列表和字典可变。由于字符串的不可变性,我们可以看到只要没有赋值语句s的内容是不会发生变化的。
在这里插入图片描述在这里插入图片描述

格式化高级替代操作
可以以一个表达式的形式和一个字符串方法调用形式使用
在这里插入图片描述

列表解析
处理序列的操作和列表的方法中,python包括了一个更高级的操作,称作列表解析表达式。它是一种对序列中的每一项运行一个表达式来创建一个新列表的方法,每次一个,从左至右。
在这里插入图片描述

动态类型

与静态编辑类型语言c,c++等不同,python使用的是动态类型,其重要区别在于缺少类型声明语句,也能对变量进行声明。
例如:a=3,python将会执行三个不同的步骤完成这个请求。
1.创建一个对象来代表值3
2.创建一个变量a,如果他还没有创建的话
3.将变量与新的对象3相连接。
变量名和对象,在运行a=3后。变量a变成对象3的一个引用。在内部,变量事实上是到对象内存空间的一个指针。

类型属于对象,而不是变量
对象知道自己的类型,每一个对象都包含了一个头部信息,其中标记了对象的类型(类型标识符,引用计数器)

共享引用
a=3,b=a输入这两行语句后,变量a,b都引用了相同的对象3,也就是说指向了相同的内存空间,在python中叫做共享引用——多个变量名引用同一个对象。
在这里插入图片描述
当输入上面语句后,变量a引用了spam所创建的新对象,而b仍然引用原始的对象3.

共享引用和在原处修改
当对一个可变类型进行修改时(如列表)要注意,它支持原处修改,我们看如下语句。
在这里插入图片描述
l1=24,当l1引用不可变类型数字时,必须指向新的对象24,而l2仍然引用原来的列表对象。
在这里插入图片描述
而这里L1的改变没有影响L2。因为list是可变对象,不需要重新赋值就可以改变(可以在原地址改变)
如果你希望L1的改变不影响L2的话,我们需要用到拷贝
在这里插入图片描述
具有序列的对象可以用分片,而字典与集合可以使用copy方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值