请简述Python2与Python3中的区别,python2与python3区别

  请简述Python2与Python3中的区别,python2与python3区别

  Python2之间的语法差异。x和Pyhon3。X

  1print函数:

  (1)2.X

  在打印功能后加一个空格,然后直接写要输出的内容。输出内容可以是任何Python数据,包括None。例如:

  a=10

  b=xyz

  c=无

  打印a、b、c

  (2)3.X

  在print函数之后,用括号将输出括起来,例如:

  a=10

  b=xyz

  c=无

  打印(a、b、c)

  2input函数

  (1)2.X

  有两个输入函数,input()和raw_input()。

  input()函数只能输入数值,可以是整数,也可以是浮点数,不能输入字符串。输入信息根据数字类别进行处理,例如:

  x=输入(请输入一个数字:)

  如果输入10,那么变量x就是数字10。如果您输入abc,此时将会报告一个错误。

  raw _ input()函数可以输入字符和数字,但结果都被当作字符串,比如:

  x=raw_input(请输入您的信息:)

  如果输入10,那么变量x就是字符串“10”。如果输入abc,X变量就是字符串‘ABC’。

  (2)3.X

  input()函数只有一个,意思和2的raw_input()一样。也就是说,你输入的任何东西都被当作一个字符串。例如:

  x=input(请输入您的信息:)

  如果输入10,那么变量x就是字符串“10”。如果输入abc,X变量就是字符串‘ABC’。

  注意:如果你需要输入一个数值呢?你需要使用cast,int()或者float(),例如:

  x=int(input(请输入一个数字:))

  这时如果输入10,变量x就是10的值,如果输入abc,就会得到错误。特别是,当您输入9.8(浮点数)时,会得到一个错误。

  另一个例子:

  x=float(输入(请输入一个数字:))

  此时,如果输入9.8,x是9.8,如果输入10,x是10.0,不会报错,但如果输入abc,程序会报错。

  3、网络发送和接收函数send() recv()sendto()recvfrom()

  (1)2.X

  例如,您可以直接发送和接收字符串,而无需编码和解码

  data=clientsock.recv(1024)

  打印(数据)

  此时,数据是一个字符串,如果套接字接收到hello消息,数据就是字符串 hello 。

  另一个例子:

  data=很高兴见到你

  clientsock.send(数据)

  去做吧。

  recvfrom和sendto也是如此。

  (2)3.X

  而sendto,需要对字符串进行编码,recv和recvfrom需要对接收到的数据进行解码,例如:

  Data=clientsock.recv(1024) #此时的数据是字节序列,而不是字符串。

  Print(data.decode())#要输出这个内容,需要使用decode方法对其进行解码。

  另一个例子:

  data=很高兴见到你

  client sock . send(data . encode())#发送时,需要对字符串进行编码。

  4、异常处理try……except的格式

  (1)2.X

  格式是:

  尝试:

  clientsock.send(数据)

   Exceptioin,e:除外

  打印(“错误”)

  注意红色字体部分和3.x不一样。

  (2)3.X

  格式是:

  尝试:

  clientsock.send(数据)

   Exceptioin as e:除外

  打印(“错误”)

  注:无异常时,格式为2。x和3。x也一样。

  5.一些系统包有不同的名称。比如2.x中有一个socketserver包,注意它包含两个大写的S,而3中的包名。x是SocketServer。出现这种情况时,可以用搜索的方法找到相关的数据包,在不同的环境下对应它们的名字就足够了。

  6.2.x不直接支持中文。如果需要使用中文,需要加载代码。3.x可以直接支持中文。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: