3694-刘同学-人工智能学科-量化金融方向 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

类方法

1.@classmethod必须位于方法上面一行

2.第一个cls必须有,cls指”类对象”本身

3.调用类方法格式:“类名.类方法(参数列表)”,参数列表中,不需要也不能给cls传值

静态方法

1.@staticmethod必须位于方法上面一行

2.调用静态方法:“类名.”

类方法和静态方法不能调用实例属性和实例方法

[展开全文]
3233小风 · 2022-08-15 · 自由式学习 0

类属性

在类中或者类外,可以用“类名.类变量名”

def __init__(self,name,score):这个是实例属性

def say_score(self)实例方法

 

[展开全文]
3233小风 · 2022-08-15 · 自由式学习 0

0b或0B,二进制

0o或0O,八进制

0x或者0X,十六进制

 

[展开全文]

### 类对象

class Student:

    pass

[展开全文]
3233小风 · 2022-08-12 · 自由式学习 0

实例方法

def 方法名(self 形参列表):

函数体

1.dir()可以获得对象所有的属性,方法

2.obj.__dict__对象的属性字典

3.pass空语句

4.isinstan(对象,类型)判断“对象”是不是“指定类型”

[展开全文]
3233小风 · 2022-08-12 · 自由式学习 0

### LEGB规则

local指的就是函数的方法内部

Enclosed 指嵌套函数(闭包)

Global指的是模块中的全局变量

Bulit in指的是PYTOHN为自己保留的特殊名称

[展开全文]
3233小风 · 2022-08-12 · 自由式学习 0

### 嵌套函数

#测试嵌套函数的定义
```python

def outer():
    print("outer running")

    def inner01():
        print("inner01 running")

    inner01()
outer()

```

[展开全文]
3233小风 · 2022-08-12 · 自由式学习 0

nonlocal 用了声明外层的局部变量

global 用了声明全局变量

def outer():
    b=10

    def inner():
        nonlocal b
        print("inner b",b)
        b=20

    inner()
    print("outer b:",b)
outer()
[展开全文]
3233小风 · 2022-08-12 · 自由式学习 0

### 递归函数的使用

阶乘计算案列

```python

def test01(n):
    if n == 1:
        return 1
    else:
        return n * test01(n - 1)


result = test01(5)
print(result)

```

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### 递归函数

自己调用自己的函数

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### eval()函数

功能将字符串str当成有效表达式来求职并返回计算结果

语法:

eval(source[,globals[,locals]])-->value

source:一个Python表达式或者函数compile()返回的代码对象

globals:可选,必须是dictionary

locals:可选,任意映射对象

```python

b=2
c=eval("a+b")
print(c)

dict1=dict(a=100,b=200)#创建一个新的字典

d=eval("a+b",dict1)
print(d)

```

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### lambda表达式和匿名函数

语法:lambda arg1,arg2,arg3...:<表达式>

```python

f=(lambda a,b,c:a+b+c)
print(f(2,3,4))
g=[lambda a:a*2,lambda b:b**2,lambda c:c/3]
print(g[0](5),g[0](3),g[1](3),g[2](7))

```

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### 可变参数

1.一个星号,将多个参数放入元组

2.两个星号,多个参数放入字典

### 强制命名参数

```python

def f1(*a,b,c):
    print(a,b,c)
f1(2,b=3,c=4)
f1(2,3,4)#会报错,因为,*a把2,3,4,都收入里面,导致b.c没有赋值

```

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### 参数的几种类型

1.位置参数

2.默认值参数

3.命名参数

```python

def f1(a,b,c=10):
    print(a,b,c)

f1(8,9,19)#位置参数(同时有默认值参数,19优先与C原本的10)
f1(c=10,a=12,b=61)#命名参数,位置可以不同
运行结果:

8 9 19
12 61 10
```

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

传递不可变对象的时候是浅拷贝

#传递不可变对象时,如果发生拷贝,是浅拷贝

a=10
print("a:",id(a))

def test01(m):
    print("m:",id(m))
    m=20
    print(m)
    print("m:",id(m))

test01(a)

 

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### 浅拷贝和深拷贝

浅拷贝:不拷贝对象的内容,只拷贝子对象的引用

深拷贝:会连子对象的内容也全部拷贝一份,对子对象的修改不会影响源对象

#测试浅拷贝和深拷贝

import copy
a=[10,20,[5,6]]
b=copy.copy(a)

print("a:",a)
print("b:",b)

b.append(30)
b[2].append(7)
print("浅拷贝。。。")
print("a:",a)
print("b:",b)

运行结果:

a: [10, 20, [5, 6]]
b: [10, 20, [5, 6]]
浅拷贝。。。
a: [10, 20, [5, 6, 7]]
b: [10, 20, [5, 6, 7], 30]

 

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

2.传递把不可变对象

不可变对象有字符串,数字,元组,function

传递不可变对象时,发生的运行逻辑,由于原对象不可变,会产生一个新的对象

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

### 参数的传递

1.对可变对象进行写操作

a=[10,20]

print(id(a))
print(a)
def test01(m):
    print(id(m))
    m.append(300)
    print(id(m))

test01(a)
print(a)
[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0

1.全局变量应尽量避免使用

2.局部比全局变量快

3.局部变量和全局变量一样是,系统自动使用局部变量

4.局部变量通过产生栈帧临时保存地址

5.在函数中用golbal声明,则局部变量变为全局变量

[展开全文]
3233小风 · 2022-08-11 · 自由式学习 0