利用Python进行数据分析学习笔记一:准备工作、Python语法基础

本文介绍了Python编程的基础知识,包括代码示例、常用模块的引入惯例、语法特点、对象模型、模块使用方法及基本数据类型的操作等内容,适合初学者快速入门。

一、准备工作

1、代码示例

在这里插入图片描述
各章的示例数据:
数据获取

2、引入惯例

引⼊惯例
Python社区已经⼴泛采取了⼀些常⽤模块的命名惯例:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm

也就是说,当你看到np.arange时,就应该想到它引⽤的是NumPy中的arange函数。这样做的原因是:在Python软件开发过程中,不建议直接引⼊类似NumPy这种⼤型库的全部内容(from numpy import *)。

3、行话

在这里插入图片描述

二、Python语法基础

1、使用缩进而不是括号

在这里插入图片描述

强烈建议使用四个空格作为默认的缩进!(可以使用tab代替四个空格)

在这里插入图片描述

2、万物皆对象

Python语⾔的⼀个重要特性就是它的对象模型的⼀致性。每个数字、字符串、数据结构、函数、类、模块等等,都是在Python解释器的⾃有“盒⼦”内,它被认为是Python对象。每个对象都有类型(例如,字符串或函数)和内部数据。在实际中,这可以让语⾔⾮常灵活,因为函数也可以被当做对象使⽤。

3、注释

在这里插入图片描述

4、函数和对象方法调用

在这里插入图片描述

5、变量和参数传递

当在Python中创建变量(或名字),你就在等号右边创建了⼀个对这个变量的引⽤。
在这里插入图片描述
(类似于Java中的引用)在这里插入图片描述

赋值也被称作绑定,我们是把⼀个名字绑定给⼀个对象。变量名有时可能被称为绑定变量。

在这里插入图片描述

6、动态引用,强类型

在这里插入图片描述
Python被认为是强类型化语⾔,意味着每个对象都有明确的类型(或类),默许转换只会发⽣在特定的情况下,例如:

In [17]: a = 4.5
In [18]: b = 2
#String formatting, to be visited later
In [19]: print('a is {0}, b is {1}'.format(type(a), type(b)))
a is <class 'float'>, b is <class 'int'>
In [20]: a / b
Out[20]: 2.25

在这里插入图片描述
在这里插入图片描述

7、属性和方法

在这里插入图片描述

8、鸭子类型

在这里插入图片描述

9、模块

在Python中,模块就是一个有.py扩展名、包含Python代码的文件。
假设有以下模块:

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

如果想从同⽬录下的另⼀个⽂件访问 some_module.py 中定义的变量和函数,可以:

import some_module
result = some_module.f(5)
pi = some_module.PI

或者:

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

使⽤ as 关键词,你可以给引⼊起不同的变量名:

import some_module as sm
from some_module import PI as pi, g as gf
r1 = sm.f(pi)
r2 = gf(6, pi)

10、二元运算符和比较运算符

要判断两个引用是否指向同一个对象,可以使用is方法,is not用于判断两个对象是不同的:
(is和is not常用来判断一个变量是否为None:a=None a is None True)

In [35]: a = [1, 2, 3]
In [36]: b = a
In [37]: c = list(a)
In [38]: a is b
Out[38]: True
In [39]: a is not c
Out[39]: True

注意:使用list()总是创建一个新的Python列表(是复制元素,不是引用),上面的代码中c以a创建一个新的列表,虽然里面的数据一样,但引用值不同,所以c不是a,但可以用 == 运算符,用于比较内部元素是否相同,a == c (true)
在这里插入图片描述
在这里插入图片描述

11、可变与不可变对象

Python中的⼤多数对象,⽐如列表、字典、NumPy数组,和⽤户定义的类型(类),都是可变的。意味着这些对象或包含的值可以被修改:

In [43]: a_list = ['foo', 2, [4, 5]]
In [44]: a_list[2] = (3, 4)
In [45]: a_list
Out[45]: ['foo', 2, (3, 4)]

其它的,例如字符串和元组,是不可变的。

记住,可以修改⼀个对象并不意味就要修改它。这被称为副作⽤。例如,当写⼀个函数,任何副作⽤都要在⽂档或注释中写明。如果可能的话,我推荐避免副作⽤,采用不可变的方式,即使要用到可变对象。

12、标量类型

在这里插入图片描述

13、数值类型

在这里插入图片描述
在这里插入图片描述

14、字符串

在这里插入图片描述
在这里插入图片描述

In [56]: a = 'this is a string'
In [57]: a[10] = 'f'

经过以上的操作,变量 a 并没有被修改:

In [60]: a
Out[60]: 'this is a string'

字符串是⼀个序列的Unicode字符,因此可以像其它序列,⽐如列表和元组(下⼀章会详细介绍两者)⼀样处理:

In [64]: s = 'python'
In [65]: list(s)
Out[65]: ['p', 'y', 't', 'h', 'o', 'n']
In [66]: s[:3]
Out[66]: 'pyt'

在这里插入图片描述
(图中有错误,Out[70]应为:this\has\no\special\characters)
在这里插入图片描述
在这里插入图片描述

15、布尔值

在这里插入图片描述

16、类型转换

在这里插入图片描述

17、None

在这里插入图片描述

18、日期和时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
就是得到一个时间差,代表两个时间差了多久。

19、if、elif和else

在这里插入图片描述
当使⽤and和or时,复合条件语句是从左到右执⾏:
在这里插入图片描述

20、for循环

在这里插入图片描述
在这里插入图片描述
使用value(或其他名字)代指后面集合中的每一个元素

21、While循环

while循环指定了条件和代码,当条件为False或⽤break退出循环,代码才会退出。

x = 256
total = 0
while x > 0:
if total > 500:
break
total += x
x = x // 2

22、pass

在这里插入图片描述

23、range

在这里插入图片描述
在这里插入图片描述

24、三元表达式

在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@u@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值