子函数的使用
函数的定义
##############函数的三种定义方式
# # 比较两个数大小,max是内置关键字,
# # 第一种定义方式,无参函数
# def self_max():
# x, y = 10, 20
#
# if x > y:
# print(x)
# else:
# print(y)
#
#
# self_max()
# # 第二种方式:有参函数,有几个参数,就必须传入几个参数
# def self_max(x, y):
# if x > y:
# print(x)
# else:
# print(y)
#
#
# self_max(100,500)
# # 第三种:空函数,你想造一把锯子,但是你目前造不来,你就留了一个地方给他,以后再造
#
# def self_max():
# pass
#
# self_max()
# def f1(x,y,z):
# return x+y+z
#
# z = f1(z=2,y=1,x=2)
# print(z)
嵌套的使用
'''
def f2():
print('from f2')
def f1():
return f2()
#return f2 对于f2加不加(),有很大的区别,一个执行子模块,一个只是子模块的变量名
print(f1()) #个人理解,f1()开始执行f1模块,f1模块开始执行,如果return f2那么打印时
#只返回f2的类型地址等 ; 如果是return f2(),那么就执行f2模块,打印时会执行
#f2模块内容,如这个会打印from f2,而print(f1())会再打印一个none
'''
# #######嵌套的子模块功能
# ###实现输入半径输出面积或者周长
# from cmath import pi
#
# def circle(r,action):
# if action == 'a':
# def premeter():
# return 2 * pi * r
# res = premeter()
#
# elif action == 'b':
# def area():
# return pi*(r**2) ####(**表示平方),(^表示或与)
# res = area()
# return res
#
# r = int(input('请输入半径(cm)>>>'))
# action = input('需要周长(输入a)还是面积(输入b)>>>')
# print(circle(r,action))
全局定义和局部定义
# 全局定义域:定义之后全局和局部都可以使用
# 局部定义域:定义之后只有局部可以使用
import requests
def spider(url):
response = requests.get(url)
response.encoding='utf-8'
response_text = response.text
with open('pa1.text','w',encoding='utf-8') as f:
f.write(response_text)
spider('https://bz.zzzmh.cn/index')