python编程入门笔记

1、做用域python

在python中,做用域分为两种:全局做用域和局部做用域。express

 全局做用域是定义在文件级别的变量,函数名。而局部做用域,则是定义函数内部。函数

 关于做用域,咱们要理解两点:spa

    a.在全局不能访问到局部定义的变量对象

    b.在局部可以访问到全局定义的变量,可是不能修改全局定义的变量(固然有方法能够修改)内存

 

例子1:作用域

x = 1
def funx():
    x = 10
    print(x) # 打印出10io

funx()
print(x) # 打印出1class

 

例子2:效率

x = 1
def funx():
    print(x) # 打印出1

funx()
print(x) # 打印出1

 

所以,关于做用域的问题,只须要记住两点就行:

全局变量可以被文件任何地方引用,但修改只能在全局进行操做;若是局部没有找到所需的变量,就会往外进行查找,没有找到就会报错。

2、匿名函数

python 使用 lambda 来建立匿名函数

lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的。
在Python中,lambda做为一个关键字,做为引入表达式的语法。想比较def函数,lambda是单一的表达式,而不是语句块!

所谓匿名,意即再也不使用 def 语句这样标准的形式定义一个函数

  • lambda 只是一个表达式,函数体比 def 简单不少。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda 函数拥有本身的命名空间,且不能访问本身参数列表以外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增长运行效率。

语法
lambda 函数的语法只包含一个语句,以下:

lambda [arg1 [,arg2,.....argn]]:expression

# lambda 参数列表:return [表达式] 变量

# 因为lambda返回的是函数对象(构建的是一个函数对象),因此须要定义一个变量去接收

例子:

sum=lambda x , y : x+y

print sum(1,2)

匿名函数优势

  • 使用Python写一些脚本时,使用lambda能够省去定义函数的过程,让代码更加精简。
  • 对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不须要考虑命名的问题
  • 使用lambda在某些时候而后代码更容易理解

3、高级函数

4、通常方法,静态方法,动态方法的区别

5、re库