day 09
day 09
一、函数
1、什么是函数:
函数的使用必须遵循'先定义,后调用'的原则。
定义:事先将函数体代码保存起来 ,然后将内存地址赋值给函数名,函数名就是这段代码用。
2、为什么要用函数:
增加代码的可扩展性
可以让程序变得清晰简洁 增加可读性
3、怎么使用函数:
函数的使用必须遵循'先定义,后调用'的原则
def 函数名(参数1,参数2.....):
'''对函数的描述'''
函数值
return 值
def:定义函数的关键字;
函数名:函数名指向函数的内存地址,是对函数代码的引用。函数的命名也应该见名知意。
括号 :括号内可以定义参数,参数时可用可无的,且不需要指定函数类型。
冒号 :括号要加上冒号,然后在下一行进行缩进编写函数体代码。
可以在函数体的最上层用注释描述函数功能和参数介绍,增强函数可读性。
函数体:编写的代码
return值:定义函数的返回值,return也是可有可无的。
当函数里面有多个return时,只要执行一次return函数就会立马停止运行,并将return后的值当作本次的产品返回。
4、参数是函数的调用者向函数体传值的媒介。
若函数体代码逻辑依赖外部传来的参数时则需要定义为参函数。
若函数内部不需要外界传来的参数时,就不需要定义参数。
案例 # 有参函数
def hs(x,y):
if x > y:
print(x)
else:
print(y)
5、pass命令:
表示什么都不做,称之为空函数。
在程序设计的开始,往往是先想好程序都需要完成什么功能,然后把所有功能都列举出来用pass充当函数 体“占位符”,这将使得程序的体系结构立见,清晰且可读性强。
def hs():
'''这是一个用于登录的函数'''
pass
6、调用函数值与函数返回值
函数的使用分为定义阶段和调用阶段,定义阶段时只检测语法,不执行代码。调用函数时需要在函数名后面加上(),只有在调用阶段时才会执行函数代码。
#定义阶段
def hs():
print('hello world')
hs1()
def hs1():
print('你好世界')
#调用阶段
hs()
#执行结果
'hello world'
'你好世界'
定义hs和hs1时均无语法错误,而在调用hs函数时,hs和hs1都已经被读入到内存中了,所以不会出现问题。
7,return的返回值语法:
当函数里面有多个return时,只要执行一次return函数就会立马停止运行,并将return后的值当作本次的产品返回。
函数的返回值有三种形式:
当return的返回值只有1个时,返回的就是该值本身。
当return的返回值有多个时,返回的值是小元组。
当没有return或return无值时return=None,返回的值都是None。
二、模块
1、什么是模块:
模块是一种功能的集合体
模块分为四种通用类别:
1,使用python编写的.py文件
2,已被编译为共享库或DLL的C或C++的扩展
3,把一系列模块组织到一个文件夹(注:文件夹下又一个_init_.py文件,该文件称之为包1)
4,使用c编写连接到python解释器的内置模块
模块的来源:
1,python再带的模块/库(内置模块,标准库)
2,第三方库
3,自定义库
2、为什么要用模块:
1,提升开发效率
2,减少代码冗余
3、怎么使用模块
import ## 指定模块位置进行调用
from ... import ## 可以直接把指定位置模块中的函数加载到当前环境中,直接使用。
示例1:
新建一个py文件(a.py)
import a
print(a.函数1)
print(a.函数2)
...
示例2:
from a import 函数1,函数2..
函数1()
4、time时间模块
import time
print(time.time()) #1970年到今天的时间秒数(时间戳)
print(time.strftime('%Y-%m-%d %H:%M:%S)') #格式化的字符
print(time.localtime()) #结构化的时间
time.struct_time(tm_year=2021, tm_mon=6, tm_mday=9, tm_hour=18, tm_min=12, tm_sec=49, tm_wday=2, tm_yday=160, tm_isdst=0)
5、random生成随机数模块
import random
random.randint():在指定范围随机取值模块
random.randrange():在指定范围按顺序取值
random.choice([]):随机取列表值模块
6、储备知识
A-Z对应的数字(65,90)
a-z对应的数字(97-122)
print(chr(65)) ## A
print(chr(90)) ## Z
print(ord('A')) ## 65
print(ord('Z')) ## 90
案例1:
#随机生成验证码
import random
def make_code(size):
res=''
for i in range(size):
num = str(random.randint(0,9))
s = chr(random.randint(65,90))
res += random.choice([num,s])
return res
print(make_code(6))
浙公网安备 33010602011771号