《利用python进行数据分析第二版》学习(二)

本文是《利用python进行数据分析第二版》的学习笔记,重点介绍了Python的数据结构、函数和文件操作,包括鸭子类型、导入、二元运算符的区别、可变与不可变对象、字符串格式化、日期和时间处理、控制流中的if-else、while循环和三元表达式。还探讨了元组的拆包、列表、enumerate和zip函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接此博客继续《利用python进行数据分析第二版》学习(一)

不重要的内容直接略过了

2.2.1.8鸭子类型
验证一个对象如果实现了迭代器协议,那它就一定是迭代的。对于很多对象来说它包含了一个__iter__魔术方法,但使用iter函数是另一个更好的检测方法:
为什么要加上isiterable()函数啊?
2.3.1.9导入
对于函数:

#some_module.py
PI=3.14159
def f(x)
	return x+2
def g(a,b)
	return a+b

在相同路径下的其他文件访问some_module.py里的变量与函数,可以进行如下操作:

from some_module.py import f,g,PI
result=g(5,PI)

2.3.1.10二元运算符和比较运算
要注意is和==是不同的,如下:

在这里插入图片描述
我的理解是c is a,代表b与a是地址相同的,a和b只是两个指针
c==a,代表的是c与a在数值上相同。验证如下:
在这里插入图片描述
2.3.1.11可变对象和不可变对象
列表、字典、Numpy数组都是可变对象。
字符串、元组为不可变对象。
**
2.3.2标量类型
**
2.3.2.2字符串
字符串格式化方式的一种:
在这里插入图片描述
2.3.2.3字节与Uicode
转码和解码过程:
在这里插入图片描述
2.3.2.7日期和时间
产生时间及加减法:
在这里插入图片描述
看来我已经出生7600天了,哈哈。

2.3.3控制流
2.3.3.1 if、elif和else
注意or的使用会导致“短路”的发生,只进行a<b,而不进行c>d。

a = 5 ; b = 7
c = 8 ; d = 4
if a<b  or  c>d :
    print("谢谢你的阅读!")
    
谢谢你的阅读!

2.3.3.3 while循环
在这里插入图片描述
2.3.3.6三元表达式
语法如下图所示:
在这里插入图片描述
在if-else代码块中,是按顺序逐个执行的。因此,三元表达式的“if”侧和“else”侧可能会包含计算消耗,但是只有真分支才会被采用。当判断条件和真假表达式复杂时会牺牲可读性。

1. 第三章 内建数据结构、函数和文件

3.1数据结构和序列
3.1.1元组
3.1.1.1元组拆包
也就是在这里增加了我对format的认识:
在这里插入图片描述
3.1.1.2 元组方法

a=(1,2,3,4,5,5,5,5)
a.count(5)                  #结果是4

3.1.2 列表

3.1.3.1enumerate
将索引值映射到索引位置上:
在这里插入图片描述
3.1.3.3 zip
zip将列表、元组或其他序列的元素配对,新建一个元祖构成的列表:

在这里插入图片描述
zip可以处理任意长度的序列,它生成列表长度由最短的序列决定:
在这里插入图片描述
zip函数有一种机智的方式去“拆分”序列,这种方式的另一种思路就是将行的列表转换为列的列表。语法看上去略显魔幻:
在这里插入图片描述

今天先写到66页。

《利用python进行数据分析第二版》学习(三)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值