鱼C论坛

 找回密码
 立即注册
查看: 1914|回复: 6

[已解决]想问一个问题

[复制链接]
发表于 2017-4-17 17:16:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
py新手中的新手,然后有一个工作,想用py来尝试一下,经过不断的百度和摸索,虽然写出了,但是有一个地方很不懂,很不懂很不懂,越来越蒙逼,下面问问题了
代码很简单,就是通过urllib来访问地址,然后地址中有一个参数是通过csv文件导入的
import csv
import urllib.request
import types

def code():
    with open(r"D:\py\test.csv","r") as f:
        reader = csv.reader(f)
        num = [row[0] for row in reader]
        print(num)
        print(type(num) == type(1))
    return num

def geturl():
    for num in code():
        print(num)
        url_str = "http://m.maoyan.com/shows/%s?_v_=yes#" % num
        print(url_str)
        req = urllib.request.urlopen(url_str).read()
        html = req.decode("utf-8")
        print(html)
geturl()

问题:
1、用%为什么是%s,而不是%d,num = [row(0) for row in reader]不是一个列表吗?用的types打印出来的是false啊?
2、如何判断是用%s还是%d,等等?
最佳答案
2017-4-17 17:32:17
1.既然你知道num是list类型,那么你跟type(1)比肯定都是false的,%d只限用于整形数字,而%s可以用于list,tuple包括数字也是可以用%s进行格式化,用%s避免抛出异常
2.type(num) == type(1)用类似你这一句去判断就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-17 17:32:17 | 显示全部楼层    本楼为最佳答案   
1.既然你知道num是list类型,那么你跟type(1)比肯定都是false的,%d只限用于整形数字,而%s可以用于list,tuple包括数字也是可以用%s进行格式化,用%s避免抛出异常
2.type(num) == type(1)用类似你这一句去判断就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-17 18:05:53 | 显示全部楼层
lumber2388779 发表于 2017-4-17 17:32
1.既然你知道num是list类型,那么你跟type(1)比肯定都是false的,%d只限用于整形数字,而%s可以用于list,tu ...

我知道我用的type(num) == type (“a”),返回的结果也是false,你的意思就是除了int整数以外%s用处比较广,字符串,list,tuple都可以,那如果是dict呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 18:10:43 | 显示全部楼层
funnyman 发表于 2017-4-17 18:05
我知道我用的type(num) == type (“a”),返回的结果也是false,你的意思就是除了int整数以外%s用处比较 ...

试了下dict也是可以的,因为%s运用比较广,你只需要判断不是int类型这些数字类型就可以用%s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-17 18:24:47 | 显示全部楼层
lumber2388779 发表于 2017-4-17 18:10
试了下dict也是可以的,因为%s运用比较广,你只需要判断不是int类型这些数字类型就可以用%s

好的,明白了,谢谢版主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 19:36:31 | 显示全部楼层
分不清%d和%s的时候可以都用%s的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-17 20:56:13 | 显示全部楼层
gopythoner 发表于 2017-4-17 19:36
分不清%d和%s的时候可以都用%s的

嗯,知道了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 00:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表