语法基础

简介: 一些Python常用的语法基础

1. is和 == 的区别

  • is: 比较两个实例是否完全相等, 包括内存地址
  • == : 只是比较两个实例的内容, 只要内容相等就行

2. range 和 xrange 的区别

  • xrange是在P2中具有的
  • range 返回的是一个List对象, xrange 返回的是一个迭代器对象
  • xrange由于不会生成一个list, 而是每次调用返回期中一个值, 内存空间使用极少, 从性能对比来看range更好

3. 什么是深浅拷贝

  • 浅拷贝 copy.copy()
    只拷贝第一层, 并不会拷贝深层, 修改第一层无影响, 修改深层就相互影响了
    切片操作也可以完成浅拷贝
  • 深拷贝 copy.deepcopy()
    递归性质的拷贝, 会在内存中生成一套完全一样的内容, 修改其中任意一个变量,
    对另一个无影响, 就是将所有数据重新创建

4.Python 的自省

Py自省: 使程序员所写的程序在运行时, 能够获得对象的类型

  • dir: 获取当前对象内部的属性
  • type: 查看当前对象的类型
  • hasattr: 判断对象是否包含某个属性
  • getattr: 获取对象的属性
  • isinstance: 判断对象是否是某个类的实例

5. 简单的数据交换

  • 互换变量
x, y = 1, 2
x, y = y, x
print(x, y)
# 2,1
  • 运算法
x, y = 1, 2
x = x + y   # x=3
y = x - y   # y=1
x = x - y   # x=2
print(x)
2
print(y)
1
  • 异互交换
a, b = 1, -1
a = a ^b  # 融合
b = a ^b  # 删除自己那部分, 就剩下a的
a = a ^b  # 删除掉b的, 就剩下自己的
print('a:%s\nb:%s'%(a,b))
a:-1
b:1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值