第二章 python面面观

《用python玩转数据》学习笔记2

1、判断语句

1、if... elif... else...
if expretion:
expr_true_suite
if expression:
expr_true_suite
elif expression2:
expr2_true_suite
:
:
elif expressionN:
exprN_true_suite
else:
none_of_the_above_suite
注意:保持语句缩进一致,而且避免使用tab进行缩进

2、range函数

range(start,end,step=1)
range(start,end)
range(end)

3、循环

while循环
while expression:
suite_to_repeat
for 循环
for iter_var in iterable_object:
suite_to_repeat

4、break和continue

(1)break语句终止当前循环,转而执行循环之后的语句
(2)在while和for循环中,continue语句的作用:
–停止当前循环,重新进入循环
–while循环则判断循环条件是否满足
–for循环则判断迭代是否已经结束

5、自定义函数

使用def定义自定义函数
例如:
def hello_func():
print("Hello!")
自定义函数的参数

  • 默认参数:函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,默认参数以赋值语句的形式提供(以下程序未显示缩进,注意格式)
    def func(x = True):
    if x:
    print("input is True")
  • 默认参数:可变的默认参数。默认参数一般需要放置在参数列表的最后,否则会引起报错“SyntaxError: non-default argument follows default argument”
  • 关键字参数:让调用者通过使用参数名区分参数。允许改变参数列表中的参数顺序
    def test_func(x, test_string):
    if x:
    print(test_string)
    调用:
    (1)统一通过位置来传递参数
    test_func(True, "hello world")
    (2)通过关键字来传递参数
    test_func(x = True, test_string = "hello world")
    test_func(test_string = "hello world", x = True)
    (3)不能一半使用关键字参数,一半不使用(即是要么全部使用关键字穿参,要么全部通过位置)
    test_func(x = True, "hello world")
    SyntaxError: non-keyword argafter keyword arg
  • 函数可以像参数一样传递给另外一个函数
    def double_func(x)
    return x*2
    def show_func(f, x):
    print(f(x))
    输入:
    show_func(double_func, 5)
    输出:
    10

6、lambda函数

re = lambda x, y: x + y*2
print(re(1,2))
输出:
5

图1 lambda函数

7、递归

  • 递归必须要有边界条件,即停止递归的条件
  • 递归的代码更简洁,更符合自然逻辑,更容易理解
  • 相较于循环,递归的计算复杂度和资源消耗更大。
    经典问题:汉诺塔

8、变量作用域

  • 全局变量
  • 局部变量

9、异常处理

9.1查看异常类 dir(__builtins__)

9.2异常类及相关描述

图2 异常类及描述

9.3异常处理方法

  • try...except...语句


    图3 单异常处理
  • 多个except子句和一个except块捕捉多个异常


    图4 多异常处理
  • 空except子句和as


    图5 通用性处理
  • try...except...else...


    图6 else处理

10、常用的python标准库函数

10.1 math模块

图7 math库基本函数

10.2 os模块

图7 os模块

10.3 random模块

图8 random模块

10.4 datetime模块

图9 datetime

你可能感兴趣的:(第二章 python面面观)