为了账号安全,请及时绑定邮箱和手机立即绑定

想请教一下找个语法是什么意思

http://img1.sycdn.imooc.com//5edc4f560001af5e09510537.jpg就是c后面一个,符号这样的变量我怎么没见过,如果我不放逗号是不是就没发运行的?是不是右边是s.所以获取了socket这个库,所以我鼠标移到c上也意思是socket

正在回答

2 回答

楼上非常不错的回答,细致,清晰,点赞。

0 回复 有任何疑惑可以回复我~

简单的说一下这两个参数, c(client)其实是客户端的套接字对象, addr(address)连接的地址, 其实是函数返回了两个参数. 

我追踪了一下源码其中提供的的介绍: 等待传入连接。返回一个新的套接字文件描述符 表示连接和客户端地址。对应IP套接字,地址信息是一对(hostaddr,port). 

http://img1.sycdn.imooc.com//5edf0fb0000147e709360329.jpg

那么如果逗号去掉, 运不运行呢?答案是可以运行的, 去掉逗号后是这样的吧

caddr = s.accept()
print(caddr)

我们来看一下结果: (<socket.socket fd=596, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8888), raddr=('127.0.0.1', 63169)>, ('127.0.0.1', 63169))

(<socket.socket fd=596, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 8888), raddr=('127.0.0.1', 63169)>, ('127.0.0.1', 63169))

这是一个二维元组, 我们可以通过索引取到相应的值, 也是可以达到同样效果的

caddr = s.accept()
print(caddr[0])
print(caddr[1])
print('----------------------------------')
print(caddr[1][0])
print(caddr[1][1])

执行结果:

http://img1.sycdn.imooc.com//5edf11b90001000213050114.jpg

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

想请教一下找个语法是什么意思

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信