Python进行数据分析学习笔记(2/14)

Python语言基础与Jupyter notebook

加⭐是必看,其他可以选择性的看;

一、运行python的两个方式

cmd:
Python进行数据分析学习笔记(2/14)_第1张图片
如图,在终端中打开python,只需在>>>中输入python即可打开python的交互式编程;
也可以直接运行一个python文件(hello_world.py文件必须位于终端的工作目录):

$ python hello_world.py
Hello world

**jupyter notebook:**⭐
Jupyter notebooks是一个网页代码笔记本;安装完成之后,在cmd终端输入:jupyter notebook 即可打开;
Python进行数据分析学习笔记(2/14)_第2张图片
选择python3,即可打开新的交互式编程界面;
Python进行数据分析学习笔记(2/14)_第3张图片
小练习(可以跟着敲一下):
Python进行数据分析学习笔记(2/14)_第4张图片

注:⭐
按Tab可以补全,敲代码的时候不需要全部都敲
Ctrl+c 可以中断运行中的代码
在变量前+?可以显示该变量的概要

二、Python语言语义

1.缩进
区别于c语言,python采用缩进来组织代码:

for x in array:
    if x < pivot:
        less.append(x)
    else:
        greater.append(x)

Python的语句不需要用分号结尾。但是,分号却可以用来给同在一行的语句切分:

a = 5; b = 6; c = 7

2.对象
每个数字、字符串、数据结构、函数、类、模块等等,都是在Python解释器的自有“盒子”内,它被认为是Python对象。每个对象都有类型(例如,字符串或函数)和内部数据。在实际中,这可以让语言非常灵活,因为函数也可以被当做对象使用。
3.注释
任何前面带有井号#的文本都会被Python解释器忽略,也可以使用’‘’ xxxx ‘’‘来注释;
Python进行数据分析学习笔记(2/14)_第5张图片
#是一句一句注释,’‘’‘’'是一整片一起注释;
注:注释和反注释的快捷键为Ctrl+/
4.函数与方法
函数:你可以用圆括号调用函数,传递零个或几个参数,或者将返回值给一个变量

result = f(x, y, z)
g()
#可以使用位置和关键词参数
result = f(a, b, c, d=5, e='foo')

方法:Python中对象附加的函数

obj.some_method(x, y, z)

**5.变量和传递参数(易混淆)**⭐
当在Python中创建变量(或名字),你就在等号右边创建了一个对这个变量的引用。考虑一个整数列表:

In [8]: a = [1, 2, 3]

假设将a赋值给一个新变量b:

In [9]: b = a

在有些方法中,这个赋值会将数据[1, 2, 3]也复制。在Python中,a和b实际上是同一个对象,即原有列表[1, 2, 3](见图2-7)。你可以在a中添加一个元素,然后检查b:

In [10]: a.append(4)

In [11]: b
Out[11]: [1, 2, 3, 4]

Python进行数据分析学习笔记(2/14)_第6张图片
注:赋值也被称作绑定,我们是把一个名字绑定给一个对象。变量名有时可能被称为绑定变量。
6.属性和方法
Python的对象通常都有属性(其它存储在对象内部的Python对象)和方法(对象的附属函数可以访问对象的内部数据)。
7.鸭子类型
经常地,你可能不关心对象的类型,只关心对象是否有某些方法或用途。这通常被称为“鸭子类型”,来自“走起来像鸭子、叫起来像鸭子,那么它就是鸭子”的说法。
我总是用这个功能编写可以接受多种输入类型的函数。常见的例子是编写一个函数可以接受任意类型的序列(list、tuple、ndarray)或是迭代器。你可先检验对象是否是列表(或是NUmPy数组),如果不是的话,将其转变成列表:

if not isinstance(x, list) and isiterable(x):
    x = list(x)

注:运算优先级:not>and>or

Python进行数据分析学习笔记(2/14)_第7张图片
8.导入
在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)

9.二次运算符和比较运算
Python进行数据分析学习笔记(2/14)_第8张图片
10.可变对象与不可变对象
可变:列表、字典、数组
不可变:字符串、元组

三、标量类型

Python的标准库中有一些内建的类型,用于处理数值数据、字符串、布尔值,和日期时间。这些单值类型被称为标量类型,本书中称其为标量。
Python进行数据分析学习笔记(2/14)_第9张图片
1.整型和浮点型
Python进行数据分析学习笔记(2/14)_第10张图片
ival是int,fval是float,3/2有小数,3//2是类似c语言那种底除,保留整数;

2.字符串
Python进行数据分析学习笔记(2/14)_第11张图片
单引号,双引号,三引号都可以表示字符串,图上三引号的有三个换行符;
字符串不可以随意修改;

可以使用str()将变量转换为字符串:
Python进行数据分析学习笔记(2/14)_第12张图片
\是转义符号,\n是换行:
Python进行数据分析学习笔记(2/14)_第13张图片,字符串前加r表明字符是他本身
Python进行数据分析学习笔记(2/14)_第14张图片
{0:.2f}表示格式化第一个参数为带有两位小数的浮点数
{1:s}表示格式化第二个参数为字符串
{2:d}表示格式化第三个参数为一个整数
我们传递format方法的一个序列替换这些格式化的参数
3.布尔值
Python中的布尔值有两个,True和False;
4.类型转换
str、bool、int和float也是函数,可以用来转换类型;
5.none空值
None是Python的空值类型。如果一个函数没有明确的返回值,就会默认返回None
6.日期和时间
Python内建的datetime模块提供了datetime、date和time类型。datetime类型结合了date和time,是最常使用的;根据datetime实例,你可以用date和time提取出各自的对象;strftime方法可以将datetime格式化为字符串;
Python进行数据分析学习笔记(2/14)_第15张图片
Python进行数据分析学习笔记(2/14)_第16张图片
两个datetime对象的差会产生一个datetime.timedelta类型:
Python进行数据分析学习笔记(2/14)_第17张图片
结果timedelta(17, 7179)指明了相差17天、7179秒;
Python进行数据分析学习笔记(2/14)_第18张图片

四、控制流⭐

1.if、elif和else

if x < 0:
    print('It's negative')
elif x == 0:
    print('Equal to zero')
elif 0 < x < 5:
    print('Positive but smaller than 5')
else:
    print('Positive and larger than or equal to 5')

2.for循环
for循环是在一个集合(列表或元组)中进行迭代,或者就是一个迭代器。
continue可以提前跳过本次循环剩下的部分:

sequence = [1, 2, None, 4, None, 5]
total = 0
for value in sequence:
    if value is None:
        continue
    total += value

break可以跳出for循环(但一个break只能跳出与之最近的for循环):

for i in range(4):
	for j in range(4):
		if j > i:
			break
		print((i, j))

如果集合或迭代器中的元素序列(元组或列表),可以用for循环将其方便地拆分成变量:

for a, b, c in iterator:
    # do something

3.While循环
while循环指定了条件和代码,当条件为False或用break退出循环,代码才会退出:

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

4.pass
pass是Python中的非操作语句。用来占坑!

if x < 0:
    print('negative!')
elif x == 0:
    # TODO: put something smart here
    pass
else:
    print('positive!')

5.range
range函数返回一个迭代器,它产生一个均匀分布的整数序列:
range的三个参数是(起点,终点,步长)

输入:
list(range(0, 20, 2))
输出:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

range产生的整数不包括终点。
常见用法:

seq = [1, 2, 3, 4]
for i in range(len(seq)):
   val = seq[i]

6.三元表达式
Python中的三元表达式可以将if-else语句放到一行里

value = true-expr if condition else false-expr

等于下面的表达:

if condition:
   value = true-expr
else:
   value = false-expr

使用三元表达式可以压缩代码,但会降低代码可读性

你可能感兴趣的:(Python数据分析,python,数据分析,学习)