首页 新闻 搜索 专区 学院

Python 函数之间调用问题?

-1
悬赏园豆:10 [已解决问题] 解决于 2018-03-27 13:38
# -*- conding:utf-8 -*-

import requests,re,json,time

from requests import ReadTimeout

Ding_url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxx'
Ding_headers = {

"Content-Type": "application/json ;charset=utf-8 "
}

url = 'http://www.123.com.cn/'
req = requests.get(url).text

url_list = re.findall('href="(.*?)"',req,re.S)
urls = ['http://www.123.com.cn/']
for ul in url_list:

if ul not in urls:
urls.append(ul)

def status():
for i in urls:
if 'show' in i:
# i = ent_url + i
  try:

html_status = requests.head(url = i , timeout=30)
status_codes = html_status.status_code
      content_print = str(status_codes) +' ' + str(i)
      time.sleep(1)

except:
  status()
return status_codes



def datas(content_print):

datass = {"msgtype": "text", "text": {"content": content_print}, "at": {"atMobiles": [], "isAtAll": False}}
#print(type(datass))
String_textMsg = json.dumps(datass)

req = requests.post(Ding_url, data=String_textMsg, headers=Ding_headers).text
#print(req)
#print(String_textMsg)
print('发送内容:', String_textMsg)

return String_textMsg

def TorF(status):#,title
if status() == 200:

datas(status())
return status


num = 1
while num < 99999999999:

TorF(status())
num += 1
time.sleep(5)

print('已执行第 ' + str(num) + ' 次')
代码大致如上,定义了三个函数status、datas、TorF。
datas需要用到status里return的content_print值,TorF需要用到status里return的status_codes值,
TorF需要对status_codes进行判断,然后根据判断结果调用datas函数。
我的需求是几个函数互相调用,然后写出了上面的代码,可是在一个函数引用另一个函数的return值是总是找不到,
问题是多个自定义函数return的值,如何互相引用?如果一个函数return了两个值该怎么引用?

会发光的主页 会发光 | 菜鸟二级 | 园豆:258
提问于:2018-02-08 16:03
< >
分享
最佳答案
0

一个函数return两个或者多个返回值就相当于返回了一个tuple,使用tuple下标就可以了。举个简单的例子:

def multiRtn():

  a = 0

  b = 0

  return a,b

要引用a那就是这样引用:

rtn = multiRtn()

my_a = rtn[0]

收获园豆:10
summerise8090 | 菜鸟二级 |园豆:222 | 2018-03-23 15:29

需要先把函数赋值,然后再用下标调用吗?如果只是return一个值,是直接赋值就行了?

会发光 | 园豆:258 (菜鸟二级) | 2018-03-23 16:17

@会发光: 是的

例如有一个函数

def fun():

  a = 0

  return a

要调用fun()这个函数,那就是

mya = fun

运行结果就是mya = 0

summerise8090 | 园豆:222 (菜鸟二级) | 2018-03-27 13:33

@summerise8090: 感谢感谢,搞明白啦

会发光 | 园豆:258 (菜鸟二级) | 2018-03-27 13:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册