8.19学习内容
# 函数分为定义阶段和执行阶段,在定义阶段中函数只检测语法不执行代码 # 如果需要调用一个函数就必须要在函数名后面加括号,如果需要参数,就给相应的参数 # 函数的命名可以理解为是在定义一段代码的主要内容及作用,也要做到见名知意.方便日后的修改及调整.
2.三种函数的种类
#1.有参函数:函数后的括号内给了参数. def info(x): print(123) #2.无参函数:函数后的括号内没有参数 def info(): print(123) #3.空函数:子代码用pass代替,没有实际意义 多用于框架搭建 def info(): pass
3.函数的参数
#1.位置参数 按照位置给函数括号内写的类似于变量名传值,按照对应位置一一对应,不能多也不能少 #2.关键字参数 指定变量名传值,可以打破位置顺序,但要在位置参数的后面. #3.默认参数 #函数在定义的阶段就已经给形参赋值,在调用阶段如果不传值就默认用形参赋的值 #4.可变长参数 在形参中使用*和** *为元组,**为字典
4.函数的返回值
#关键字是return 1.可以返回 返回值 2.函数体代码遇到return就立刻结束运行. 函数体代码如果没有return,返回值默认是none 如果有return 后面写什么就返回什么 如果跟了多个值就以元组的形式返回
5.常见的内置函数
abs (取绝对值)
bin (十进制转换成二进制)
oct (十进制转换成八进制)
hex (十进制转换成十六进制)
max (取最大值)
min (取最小值)
sum (求和)
chr (返回ascii码对应值)
callable(是否可以调用)
---------------------------------------------------------------------------------------------------
今日内容回顾
# 名称空间指的是存放变量名与值的绑定关系的地方 1.内置名称空间:可以理解为python内置的名称空间,就是无法操作.启动python解释器自动打开关闭会销毁 2.全局名称空间:随着python文件的开始执行会形成的一块空间, 3.局部名称空间: 伴随函数的调用产生,结束后销毁 加载顺序:内置名称空间 > 全局名称空间 > 局部名称空间

name = 'jack' # 在全局名称空间 def func1(): name = 'jason'# 在局部名称空间 但是在内部并没有执行print指令 print(name) # 因为这行指令是在函数外部,所以会取值在全局空间
name = 'jack' # 在全局名称空间 def func1(): name = 'jason'# 由于运行顺序是从局部名称开始所以先找到函数内部的以name为变量名的'jason' print(name) # 由于已经在局部名称空间找到了jason所以上面的jack就不会再取值 func1() # 所以运行结果是jason
#匿名函数: 即没有名字的函数 语法结构 lambda 形参:返回值 # 匿名函数一般不单独使用需要结合内置函数自定义函数等一起使用 l = [1, 2, 3, 4, 5, 6, 7] res = map(lambda x: x + 10, l) print(list(res)) # list是迭代器
#匿名函数主要用于一些比较简单的业务逻辑中 减少代码量
l1 = [11, 22, 33, 44, 55, 66, 77, 88] new_list = [] ##生成一个新列表 for i in l1: new_list.append(i/2) print(new_list)

l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99] new_list1 = [i for i in l1 if i*2 > 60] print(new_list1)

#当if判断仅仅是二选一的情况下 可以用三元表达式 name = input('username>>>:') res = 'NB' if name == 'jason' else 'SB' print(res) 当if后面的条件成立的情况下,使用前面的结果,当if的结果不成立的情况下 使用后面的结果,由中间if 的条件做判断

A if条件 b 如果if条件为true 则使用a 不成立则使用b
#具有一定的功能的代码的集合叫做模块与包 可以是py文件也可以是多个py文件(包) 导入模块的本质 会执行模块内代码并产生一个独立的属于该模块的模块空间,可以打破文件限制,然后将代码执行过程中的名字存放该名称空间中,然后给导入模块的语句一个模块名 语法结构 import a
b.py import aaa aaa.py name = 'jason' def index(): pass

# import 模块名
可以通过模块名点出所有的名字 from 模块名 import 子名1,子名2
#如果模块名较长或者不符合你的看法 可以起别名
import 123456 as 654321 from d1.d2 import f1 as 1f
1.时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 import time print(time.time())

2.打印时间
import time print(time.strftime('%Y\%m\%d')) print(time.strftime('%Y\%m\%d %H:%M:%S')) # 只有月和日小写否则输出结果会不对

3.让程序等待多少秒 import time def index(): print('123') time.sleep(3) print('哈哈哈') index()
4.定义操作时间 day=7 也就是可以对另一个时间对象加7天或者减少7点 import datetime
tdelta = datetime.timedelta(days=7) tdelta1 = datetime.timedelta(days=-7) print(tday + tdelta1)


浙公网安备 33010602011771号