Python自学笔记:Ch1 Python深入扩展

Python到目前为止一直都是自学,用到什么学什么。但是最近发现自己相关的知识掌握并不全面,同时又想深入学习爬虫和表格处理,故进行补充和梳理,方便复习,参考视频资料:
1.用Python玩转数据 南京大学 张丽
2.Python网络爬虫与信息提取 北京理工大学 嵩天

一、函数

1.内建函数

Python自学笔记:Ch1 Python深入扩展_第1张图片

>>> dir(__builtins__) # 查看异常名、属性名、内建函数名
>>>help(zip) # 查看帮助
2.自定义函数

语法:

def functionname( parameters ):
   "函数_文档字符串" 
   function_suite
   return [expression]

实例:

>>> def printme( str ):
...     "打印传入的字符串到标准显示设备上"
...     print(str)
...     return
...
>>> printme("!@@")
!@@
>>> print(printme.__doc__)
打印传入的字符串到标准显示设备上
  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明(DocString)。
  • 注意冒号。
3.默认参数
>>> def f(x,y = True):
...     if y:
...             print(x,'and y both correct')
...     print(x,'is OK')
...
>>> f(68)
68 and y both correct
68 is OK
>>> f(68,False)
68 is OK
>>> f(y = False, x = 68)
68 is OK
  • 默认参数后面不能有非默认参数;
  • 默认参数可有多个;
  • 使用关键字参数可不受顺序影响。
4.传递函数

函数可以像参数一样传递给另外一个函数。

>>> def addMe(x):
...     return x+x
...
>>> def self(f,y):
...     print(f(y))
...
>>> self(addMe,2.2)
4.4
5.lambda函数(匿名函数)
>>> r = lambda x:x+x
>>> r(5)
10

二、包

Python自学笔记:Ch1 Python深入扩展_第2张图片
包包含了模块和库。

三、循环

1.range函数

Python自学笔记:Ch1 Python深入扩展_第3张图片

>>> x = range(3)
>>> x
range(0, 3)
# 生成器 lazy list

>>> for i in x:
...     print(i)
...
0
1
2
# 左闭右开,默认步长为1,默认起始值为0

>>> list(x)
[0, 1, 2]
2.循环中的else

如果循环代码从break处终止,跳出循环;正常结束循环,则执行else中代码。

>>> for i in range(1, 10, 2):
...     if i % 5 == 0:
...        print("Bingo!")
...        break
... else:
...     print(i)
...
Bingo!

四、变量作用域

1.全局变量和局部变量用同一个名字:内层屏蔽外层
>>> a = 3
>>> def f():
...     a = 5
...     print(a ** 2)
...
>>> f()
25
>>> a
3

2.globel语句:尽量不用
>>> def f(x):
...     print(m)
...     m = 5
...     print(m + x)
...
>>> m = 3
>>> f(8)
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 2, in f
UnboundLocalError: local variable 'm' referenced before assignment
>>> def f(x):
...     global m
...     print(m)
...     m = 5
...     print(m + x)
...
>>> m = 3
>>> f(8)
3
13
>>> print(m)
5

五、异常

1.异常

Python中每个异常都是类的实例,用异常对象表示异常情况。
Python自学笔记:Ch1 Python深入扩展_第4张图片

2.try-except语句

Python自学笔记:Ch1 Python深入扩展_第5张图片
Python自学笔记:Ch1 Python深入扩展_第6张图片
Python自学笔记:Ch1 Python深入扩展_第7张图片
空except子句可以捕捉所有异常,as输出错误原因。
Python自学笔记:Ch1 Python深入扩展_第8张图片
没有异常引发,则执行else子句。
Python自学笔记:Ch1 Python深入扩展_第9张图片
Python自学笔记:Ch1 Python深入扩展_第10张图片
Python自学笔记:Ch1 Python深入扩展_第11张图片
Python自学笔记:Ch1 Python深入扩展_第12张图片
Python自学笔记:Ch1 Python深入扩展_第13张图片

你可能感兴趣的:(Python)