函数
①自定义函数:
#同模块调用
1、新建并调用
def fx():
print(‘a’)
time.sleep(5)
print(‘b’)
fx() #无参调用
2、多个函数同时调用
def fx1():
print(‘cat’)
def fx2():
print(‘dog’)
if name == ‘main’: (当前模块被其他模块导入时,主函数main函数下的函数不会被执行)
fx1()
fx2()
#异模块调用
在函数调用.py文件下输入:
from mulu.dcs01package import 函数
函数.fx1()
函数.fx2()
=================================
参数:
形参:函数定义时括号内的参数
实参:函数调用时括号内的参数
形参相当于变量,实参相当于变量的值。
形参只在函数内部有效,进行函数调用时,实参必须是确定的值。
位置参数:
关键参数:正常情况下,给函数传参数,要按顺序。如果不想按顺序,就用关键参数。指定参数名的参数,就叫做关键参数。调用函数时,关键参数必须在位置参数的后面
=========================================
变量:
局部变量:在函数体内设置,在函数体内有效
全局变量:函数体外设置
函数调用局部变量,函数体内打印的时局部变量,函数体外打印的是全局变量
函数体内设置全局变量:global+变量名(原有全局变量的值会被覆盖)
函数返回值设置:return [返回值]----可以设置多个,执行一个就会结束
==========================================
②内置函数:
1、format:代替% 格式化函数
#不设指定位置,按默认顺序打印:一个{}对应一个字符串
a =‘{},{},{}’.format(‘hello’,‘ni’,‘hao’)
print(a) ---->hello,ni,hao
#根据索引输出结果:
a =’{1} {0}’.format(‘hello’,‘ni’,‘hao’)
print(a) —>ni hello
#把输出的的位置按变量的方式输出:
name = “我叫{0},年龄{1}的{0}一枚”
x=name.format(‘帅哥’,‘18岁’)
print(x) ------->“我叫帅哥,年龄18岁的帅哥一枚”
#设置参数:
(1)设置全局变量
n=‘百度’
u=‘www.baidu.com’
p=‘网站名:{name},网址:{url}’.format(name=n,url=u)
print§ ---->网站名:百度,网址:www.baidu.com
(2)通过字典设置参数
g={‘name’:‘百度’,‘url’:‘www.baidu.com’}
h=‘网站名::{name},网址:{url}’.format(**g)
print(h) ------->网站名::百度,网址:www.baidu.com
(3)通过列表设置参数
a=[‘多测师’,‘www.duoceshi.com’]
b=[‘百度’,‘www.baidu.com’]
cd=“网站名:{1[0]}, 地址 {1[1]}”.format(a,b) #大括号里面的0代表的是列表、中括号里面的0和1是列表元素对应的索引位
print(cd) ------>网站名:百度, 地址 www.baidu.com
2、zip:对两个列表压缩(长度溢出部分默认删除)
a=[‘a’,‘b’,‘c’] b=[4,5,6]
(1)以字典输出:print(dict(zip(a,b))) ---->{‘a’: 4, ‘b’: 5, ‘c’: 6}
(2)以列表输出:print(list(zip(a,b))) ---->[(‘a’, 4), (‘b’, 5), (‘c’, 6)]
(3)以元组输出:print(tuple(zip(a,b))) ---->((‘a’, 4), (‘b’, 5), (‘c’, 6))
(4)解压成列表:print(list(zip(*zip(a,b)))) ---->[(‘a’, ‘b’, ‘c’), (4, 5, 6)]
3、open:可接外部文件/内部文件绝对路径
法一:
a=open(r’D:\a\b.txt’, ‘r’ ,encoding=‘utf-8’)—>打开只读文件
print(a.read()) ----读取所有
print(a.readline()) -----读取第一行
print(a.readlines(),end=’’) ----读取所有以 list 横向输出
a=open(r’D:\a\b.txt’, ‘w’ ,encoding=‘utf-8’)—>覆盖原文件
a.write(’覆盖或追加内容‘)
a=open(r’D:\a\b.txt’, ‘a’ ,encoding=‘utf-8’)—>文档末尾追加内容
##以a.close()结尾,再执行
法二:
with open(r’D:\a\b.txt’, ‘a’ ,encoding=‘utf-8’) as b:
##直接执行,不需要结尾
模块
调用模块:
法一# import + 模块名 ---->调用时要前缀模块名
from time import ctime as c ----调用并设置别名
法二# from 目录+包+文件 import * —跨模块调用
1、time模块
time() #1970到现在的经过的秒数
ctime() #固定格式的当前时间
sleep(3) #休眠 单位是秒
asctime() #转换为asc码显示当前时间
strftime() #时间格式化
2、random模块
random() #随机生成0开头的符点数
randint(1