第二章 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容

  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 3,802评论 0 27
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,814评论 2 16
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,440评论 1 24
  • 01 暮春之野 清晨 打柴郎 山歌响彻林梢 歌声远 余音绕枕 惊扰 梦一枚 姑娘 思相酬 02 吹皱一池春水 ...
    宛悦派阅读 280评论 2 8
  • Given a binary tree, determine if it is a valid binary se...
    matrxyz阅读 155评论 0 0