函数、方法和库

面向 R 用户的 Python

Daniel Chen

Instructor

调用函数

  • R 与 Python 中的函数工作方式相同
  • Python:函数与方法
面向 R 用户的 Python

方法 vs 函数

  • Python 是面向对象的
    • 属性
    • 方法
  • 方法是对象可在自身上调用的函数
  • 函数是对对象进行调用
l = [0, 1, 2, 3, 4]
len(l)   # 调用函数
l.len()  # 不是方法
面向 R 用户的 Python

句点在 Python 中有特殊含义

句点有非常特定的含义和用法

面向 R 用户的 Python

向列表追加

l = [1, "2", True]

l.append('appended value')

l
[1, '2', True, 'appended value']
面向 R 用户的 Python

更新字典

d = {'int_value':3, 'bool_value':False, 'str_value':'hello'}

d.update({'str_value':'new_value', 'new_key':'new_value'})

d
{'bool_value': False,
 'int_value': 3,
 'new_key': 'new_value',
 'str_value': 'new_value'}
面向 R 用户的 Python

方法与对象相关

d.append('hello')
 ------------------------------------------------------------------
AttributeError                    Traceback (most recent call last)
<ipython-input-4-42922a99ec56> in <module>()
<hr />-> 1 d.append('hello')

AttributeError: 'dict' object has no attribute 'append'
面向 R 用户的 Python

  • 库提供更多功能
  • 数组和数据框不内置于 Python
  • 数组和矩阵来自 numpy
  • 数据框来自 pandas
面向 R 用户的 Python

Numpy ndarray

R
library(readr)
dat <- read_csv('my_file.csv')
Python
import numpy
arr = numpy.loadtxt('my_file.csv', delimiter=',')

import numpy as np
arr = np.loadtxt('my_file.csv', delimiter=',')
面向 R 用户的 Python

Pandas DataFrame

import pandas as pd

df = pd.read_csv('my_file.csv')
df.head()
面向 R 用户的 Python

让我们来练习!

面向 R 用户的 Python

Preparing Video For Download...