python基础

python

类型与运算

可变类型与不可变类型

  • 核心类型中,数字、字符串和元组是不可变的;列表和字典不是这样
  • 可作用于多种类型的通用型操作都是以内置函数或表达式的形式出现的[例如,len(X),X[0]]

数据类型

字符串

列表

image.png

image.png

字典

image.png
image.png

元组tuple

  • 基本上就像一个不可以改变的列表
  • 从语法上讲,它们编写在圆括号中而不是方括号中,它们支持任意类型、任意嵌套以及常见的序列操作:
  • 真正的不同之处就在于一旦创建后就不能再改变。也就是说,元组是不可变的序列:

文件

image.png

数字

传统除法、Floor除法和真除法

类型属于对象,而不是变量
Python的变量就是在特定的时间引用了一个特定的对象。

共享引用


image.png
image.png
image.png

此时,并不是替换了原始的a对象,而是让这个变量去引用完全不同的一个对象,所以,b的值并不会因此改变。

有一些对象和操作确实会在原处改变对象(可变对象,如列表等)。对于支持这种在原处修改的对象,共享引用时的确需要加倍的小心,因为对一个变量名的修改会影响其他的变量。

使用分片进行copy


image.png

语句与语法

语句

image.png
image.png

赋值

image.png
image.png
image.png
image.png

这和分片内在的相似,但是不完全相同——一个序列解包赋值总是返回多个匹配项的一个列表,而分片把相同类型的一个序列作为分片的对象返回:


image.png

迭代器和解析

列表解析

image.png

快于


image.png

python3中新的可迭代对象

函数

参数匹配法则

image.png
image.png

函数高级特征

递归

间接函数调用

image.png
image.png

内省函数

函数自身的诸如名字的属性
func.name

匿名函数:lambda

image.png

由def创建并赋值后的函数对象工作起来是完全一样的
不过,·lambda是一个表达式,而不是一个语句


image.png

在序列中映射函数 map

image.png
image.png
看就明白

函数式编程工具:filter和reduce

理解为过滤:


image.png
image.png

迭代和解析

列表表达式

image.png
image.png
image.png

列表解析和矩阵

生成器

生成器在内存使用和性能方面都更好
函数包含一条yield语句,他们返回一个可迭代对象


image.png

生成器表达式:迭代器遇到列表解析

image.png

生成器表达式大体上可以认为是对内存空间的优化,它们不需要像方括号的列表解析一样,一次构造出整个结果列表。它们在实际中运行起来可能稍慢一些,所以它们可能只对于非常大的结果集合的运算来说是最优的选择。关于性能的更权威的评价,必须等到我们在本章稍后编写计时脚本的时候给出。

生成器是单迭代器对象

image.png

这与某些内置类型的行为不同,它们支持多个迭代器并且在一个活动迭代器中传递并反映它们的原处修改。


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,104评论 17 410
  • 四、序列类型操作符 1、索引和切片操作符 ( [],[:],[::] ) 序列类型的元素被顺序放置,这种方式允许通...
    常大鹏阅读 2,091评论 0 8
  • 一 写在前面 未经允许,不得转载,谢谢~~ 接触Python应该有一年多的时间了,凭借着C++的经验也没有认真地系...
    与阳光共进早餐阅读 5,456评论 4 12
  • 速度第一!互联网每个阶段都是有发展的红利期的,所以一定要站在风口浪尖上,抓住一波红利立马开干。因为不知道什么时候风...
    张赟ZhangYun阅读 94评论 0 0
  • 电影《我是女王》讲述了几个女人是如何从一个负能量情感迈向正能量女王的故事。 宋慧乔饰演的王安妮,去参加自己前任婚礼...
    周美妍阅读 1,419评论 0 3