1、用自己的理解方式编码举例LEGB规则
#全局变量
name='Jims'
def set1():
global name #使用全局变量
name="ringkee"
set1()
# 局部变量
# 局部里面定义全局变量,关键字global,先定义变量然后才能赋值
i = 0
def check():
global i
i = 5
j = 1 # 局部变量
print(i)
print(j)
check()
print(vars())
2、用函数递归的方式求 4!
# def ass2(num):
# if num == 1:
# return 1
# # print(num)
# return ass2(num-1)*num
# print(ass2(4))
3、编写一个匿名函数,能求出3个数的最大值
ass3 = lambda age1, age2, age3: max(age1, age2, age3)
print(ass3(2, 4, 1))
4、python模块的导入方式有哪几种?(问答)
# 导入方法一:直接导入.py文件里面的函数,这里需要去被导入类的所在的包里面的__init__.py文件里放开该函数/变量名
# 在__init__.py文件输入:from .类名 import 函数名/变量名
# 语法: from 水泥厂 import 函数名/变量名
# 调用方法:直接调用函数/变量即可
# from 水泥厂 import creat_shui
# def create_house():
# a = creat_shui()
# print('建房子需要:' + a)
#
#
# create_house()
# 导入方法二:直接将包全部导入
# 语法:import 包名
# 调用时语法:包名.类名.函数名
# import 水泥厂
# def create_house():
# a = 水泥厂.水泥厂.creat_shui()
# print('建房子需要:' + a)
#
#
# create_house()
# 导入方法三:将包里面的单个类导入
# 语法:from 包名 import 类名
# 调用时语法:类名.函数名
# from 水泥厂 import 水泥厂
# def create_house():
# a = 水泥厂.creat_shui()
# print('建房子需要:' + a)
#
#
# create_house()
# import 导入包/类时可以使用 as 对包或者类赋别名
# 语法:import 包/类 as 别名
5、用包和不用包的区别在哪里?
# 1、用包是为了方便管理
# 2、不用包模块之间相互调用更加方便
6、有两个文件a.txt,b.tx,把他们中的内容进行互换
a = open('a.txt').read()
b = open('b.txt').read()
open('a.txt', 'w+').write(str(b))
open('b.txt', 'w+').write(str(a))
7、用循环的方式新建100个文件,文件编号为001–100,文件内容显示创建时间
import os
import time
list1 = []
for i in range(1, 101):
list1.append(i)
a = open('%03d.txt' % i, 'w+', encoding='UTF-8') # 这里将文件创建在了当前的包里面
a.write('文件创建时间:' + time.strftime('%Y-%m-%d %H:%M:%p', time.localtime()))
a.close()
# 这里有个休眠30秒,然后进行删除文件操作
time.sleep(20)
for j in range(1, len(list1)+1):
os.remove('%03d.txt' % j)
print('全部删除完毕')
8、分别写出time和datetime模块如何实现显示当前时间的字符串
import time
t = (2018, 6, 24, 16, 56, 45, 0, 0, 0)
# 获取当前时间戳
print(time.time())
# 给定时间的时间戳
print(time.mktime(t))
# 转换时间戳为元组time.localtime(时间戳)
print(time.localtime(time.time()))
# 格式化显示(即字符串、时间元组相互转换)
print(time.strftime('%Y-%m-%d %H:%M:%p', t))
# 不加时间元组显示当前时间
time.strptime(str,'%Y-%m-%d %X')
# 格式化显示(即字符串、时间元组相互转换)
t = time.localtime()
print(t)
print(time.strftime('%Y-%m-%d %H:%M:%p', t))
# datetime模块:
# 模块下有几个子模块:
# date:处理年月日 time:处理时分秒、微秒 datetime:处理年月日,时分秒,微秒
import datetime
# 1、时间元组表示:
dt = datetime.datetime(2018, 6, 24, 16, 56, 45, 0) # (年、月、日、时、分、秒、微秒)
# 2、截取时间元组中的部分:
print(dt.year)
print(dt.month)
print(dt.date())
print(dt.time())
print(dt.weekday())
print(dt.isoweekday())
# 3、获取当前时间:
print(datetime.datetime.today())
print(datetime.datetime.now())
# 4、获取时间戳:
print(dt.timestamp()) # 获取时间戳
print(datetime.datetime.fromtimestamp(dt.timestamp())) # 将获取时间戳格式化显示
# 5、按自定义格式返回字符串:
print(dt.strftime('%Y-%m-%d'))
# 6、英文显示:
print(dt.ctime())
9、读取一个excel表格单元格的内容
import openpyxl
# # 创建workbook对象,创建excel文件
wb = openpyxl.Workbook()
# # 获取sheet
ws = wb.active
# # 修改表sheet名字
ws.title = '课堂练习'
# # 操作单元格
ws['A1'] = '姓名'
ws['B1'] = '性别'
# # 保存表格
print(ws['A1'].values)
wb.save('课堂作业.xlsx')
a = ws.cell(row=1, column=1).value
# print(ws['A1'].value) # 这么写也可以打印出单元格的值
print(a)