python为什么虚部是j不是i_Python review

本文回顾了Python的重要特性,如对象模型一致性、变量绑定、按引用传递、类型检查和对象属性。讨论了Python中的列表、赋值、方法、异常处理、字符串处理以及迭代器。还介绍了复数、元组、字典、集合、生成器和函数,包括闭包和部分参数应用。此外,提到了文件操作和操作系统交互。
摘要由CSDN通过智能技术生成

昨天辞职了,在KDS的这一段时间确实提高了不少。趁着辞职后还有段空闲期,准备将Python数据分析这一块继续学习学习。然后把组成原理和计算机网络学习一遍,为以后的发展打下基础,然后准备继续学习C++.

Python的一个简单review

Python重要特点就是对象模型的一致性,Python解释器中的任何数值,字符串,数据结构,函数,类,模块,都是一种Python对象,每个对象都有一个与之相关的类型比如字符串和函数以及内部数据,几乎所有的Python对象都有一些附属函数,也就是方法,他们可以访问对象内部的数据,函数既可以接受位置参数,也可以接受关键字参数

在Python中对变量赋值的时候,其实是创建等号右侧对象的一个引用

a = [1,2,3]

b = a

#这样a,b都指向同一个对象

a.append(4)

print b```

赋值操作也称为绑定,将一个名称和一个对象绑定到一起

当将对象以参数的形式传入函数的时候,其实是传递了一个引用,不会发生任何复制,Python是按引用传递的

def append_element(some_list,element):

some_list.append(element)

append_element(a,5)

print b```

Python中的对象引用没有与之相关联的类型信息,变量其实就是对象在特定命名空间中的名称,对象的类型信息是保存在它自己内部的,Python可以被认为是一种强类型语言,所有对象都有一个特定的类型,隐式转换只在很明显的情况下才会发生

print type(a)

#isinstance函数来检查对象是否是某个特定类型的

print isinstance(a,list)

#可以制定元组,检查某个对象的类型是否属于元组中指定的类型

print isinstance(a,(list,int))```

Python中的对象既有属性,存储在该对象内部的其他Python对象

又有方法,与该对象有关的能够访问其内部数据的函数

getattr函数,hasattr函数和setattr函数

一般来说只关注这个对象有没有某些方法或者行为

比如实现了迭代器协议的就是可迭代的,__iter__方法

使用iter函数来判断是否可迭代

def isiterable(obj):

try:

iter(obj)

print "True"

except:

print "False"

isiterable(a)

isiterable(a[1])

检查是不是列表,如果不是列表将其转换为列表

if not isinstance(a,list) and isiterable(a):

a = list(a)```

判断两个引用是否指向同一个对象,可以使用is,或者is not

print a is b

#但是list函数会创建新列表

c = list(a)

print c

print a is c

#==表示比较两个对象是否相等,如果是列表,就是列表中每个元素相比较

c.append(6)

print a == c```

Python中,计算过程和表达式都是立即求值的

但是迭代器和生成器可以实现延迟计算,特别应用于数据密集型计算

大部分Python对象是可变的,列表,字典,数组

字符串和元组是不可变的

除后圆整运算符//,Python2中,3/2仍然是一个整数

print 3 // 2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值