一、准备工作
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、三元表达式


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

被折叠的 条评论
为什么被折叠?



