AI成长计划第一阶段第一周python语言进阶学习笔记
函数 是一个能完成特定功能的代码块,可以在程序中重复使用,提高加载效率
def(函数关键字)fubtion函数名(参数,参数)
'' '' '' 函数注释 '' '' ''
statement (函数语句块)
[return value] 返回值,不是必须的
函数的返回多个值
函数也是对象
函数的参数和变量
用户定义函数def,lambda
文件名就是模块名+.py
模块,定义了自己独有的命名空间,在其定义的属性,函数,类都隶属于该空间
通过import关键字我们可以导入模块
import module1,[module2],[...n]
导入改模块的所有属性如下语句
from module import * (不建议使用)
更标准的语句格式
from module import (name1,name2,...nameN)
作用域
如果在一个模块的顶层导入的模块,该模块具有Global的作用域,如果是在函数内部导入的,具有local的作用域
导入子包的方式
每个模块就是一个全局作用域
每一个调用一个函数就创建一个局部作用域
声明全局变量
面向对象-类和实例
calss关键字 类名(副类)
>>>calss ClasswithDoc(object)
this is a simp class with a doc string
...
pass
>>>print ClasswithDoc.__doc__
实例化一个类和函数调用的语句是一样的
>>>obj = ClassWithDoc()
>>>id(ClassWithDoc)
29438552
>>id(obj)
29150800
构造函数 def __init__(self,val):
析构函数 def __del__(self):
python中可以多重继承
内置函数dir可以查看对象/模块的属性列表,对象的_dict_则显示对象的所有属性及属性的值
异常处理
1,NameError:尝试访问一个未声明的变量
2,SyntaxError:解释器语法错误,是唯一不在运行时发生的异常
3,IndexError:超出范围的值索引序列
open()函数返回一个文件对象
file是你要操作的文件名,不在当前路径需要指定(相对路径和绝对路径)
mode是打开文件的模式,如何操作
buffering表示是否使用缓存
文件函数
从文件中快速有效的读取每一行内容
for line in f:
print line
pick模块
pickle.dump(x,f)把对象x序列化后保存到文件f中
x = pickle.load(f)从文件f中还原对象x
本章测验
100分(计分)
(单选)函数定义时参数规则表述错误的是()
默认参数必须在非默认参数之后
在单个函数定义中,只能使用一个tuple参数(*ARG)和多个字典参数(**ARG) √
tuple参数必须在位置参数和默认参数之后
字典参数必须在最后定义
(单选)调用以下函数返回的值() def aifun(): pass
0
出错不能运行
空字符串
None √
(单选)已知以下函数f1()和f2(),执行f2()的结果为: name = "ModelArts" def f1(): print(name) def f2(): name = "EI" f1()
ModelArts √
EI
EI ModelArts
报错
(单选)关于Python类 说法错误的是()
类的实例方法必须创建对象后才可以调用
类的实例方法必须创建对象前才可以调用 √
类的类方法可以用对象和类名来调用
类的静态属性可以用类名和对象来调用
(单选)有关异常说法正确的是()
程序中抛出异常终止程序
程序中抛出异常不一定终止程序 √
拼写错误会导致程序终止
缩进错误会导致程序终止
(单选)导入模块的方式错误的是()
import mo
from mo import *
import mo as m
import m from mo √
(单选)以下选项中,对于函数的定义错误的是()
def vfunc(*a,b): √
def vfunc(a,b):
def vfunc(a,*b):
def vfunc(a,b=2):
(单选)如果想在函数中修改全部变量,需要在变量的前面加上()关键字
static
constant
global √
fianll
(单选)函数可以有多个参数,参数之间使用()分隔
横杠-
斜杆/
分号;
逗号, √
(单选)在函数的内部定义的变量称作()变量
全局
内部
局部 √
临时
- 点赞
- 收藏
- 关注作者
评论(0)