1、写一个程序交换两个变量的值?
方法一:使用加减法进行交换
1 #main方法
2 def main():
3 #提示用户输入的数据信息
4 numOne=int(raw_input("请输入第一个数字:"))
5 numTwo=int(raw_input("请输入第二个数字:"))
6
7 #打印数据信息
8 print("交换前的数据分别为:%d,%d"%(numOne,numTwo))
9
10 #进行数据的交换
11 numOne=numOne+numTwo
12 numTwo=numOne-numTwo
13 numOne=numOne-numTwo
14
15 #打印数据信息
16 print("交换后的数据分别为:%d,%d"%(numOne,numTwo))
17
18 #程序入口
19 if __name__ == '__main__':
20 main();
方法二:使用异或法进行交换
1 #main方法
2 def main():
3 #提示用户输入的数据信息
4 numOne=int(raw_input("请输入第一个数字:"))
5 numTwo=int(raw_input("请输入第二个数字:"))
6
7 #打印数据信息
8 print("交换前的数据分别为:%d,%d"%(numOne,numTwo))
9
10 #进行数据的交换
11 numOne=numOne^numTwo
12 numTwo=numOne^numTwo
13 numOne=numOne^numTwo
14
15 #打印数据信息
16 print("交换后的数据分别为:%d,%d"%(numOne,numTwo))
17
18 #程序入口
19 if __name__ == '__main__':
20 main();
------------------------------
2、在Python中,类和对象有什么区别?对象如何访问类的方法?对象和类能否互相访问对方的方法或者属性?
答:
类是一类对象的集合,是一个模版,封装了对象的属性和方法,是实例对象产生的工厂,类可以产生多个实例对象
主要特点:
class语句创建类对象并将其赋值给变量名;
class语句内的赋值语句会创建类的属性;
类属性提供对象的状态和行为;
对象是类的实例,由类的构造函数生成,实例化类的属性和方法
主要特点:
像函数那样调用对象会创建新的实例对象;
每个实例对象继承类的属性并获得了自己的命名空间;
在方法内对self属性做赋值运算会产生每个实例自己的属性
对于实例的属性和方法,只能由实例调用,类不可以调用
对于类的属性和方法,类和实例对象都可以去调用
3、用Python编写一个简单的socket程序,服务器想客户端发送一句话“Python is not hard”,客户端回送一句话“life is short,please use python”
1 #coding=utf-8
2
3 #引用对应的包
4 import socket
5 import sys
6 import threading
7 from time import sleep
8
9
10 #线程:模拟udp服务器向客户端发送一句话:Python is not hard
11 class ServerThread(threading.Thread):
12 #重写对应的构造方法
13 def __init__(self, port):
14 threading.Thread.__init__(self)
15 self.port = port
16
17 #进行run方法的重写操作
18 def run(self):
19 #创建udp服务器套接字
20 self.serverSoc=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
21
22 #元组,存储服务器端ip地址和端口号
23 self.locker = ('192.168.241.128',self.port)
24
25 #绑定服务器ip和端口
26 self.serverSoc.bind(self.locker)
27
28
29 #元组,存储要发送的指定客户端的ip地址和端口号,客户端指定端口号为8080
30 self.sendAddr = ('192.168.241.128',8080)
31
32
33 print("服务器开启")
34
35 sleep(1)
36
37 #变量,存储要发送的内容
38 self.sendDate = 'Python is not hard'
39
40 #进行数据向客户的发送
41 self.serverSoc.sendto(self.sendDate,self.sendAddr)
42
43 #阻塞,接受客户端回发回来的数据信息
44 self.recvDate,self.recvAddr = self.serverSoc.recvfrom(1024)
45
46 print("客户端:%s"%(self.recvDate))
47
48 #关闭套接字
49 self.serverSoc.close()
50
51
52 #线程:模拟udp客户端接受服务器发送的数据,并且恢复一句“life is short,please use python”
53 class ClientThread(threading.Thread):
54 #重写对应的构造方法
55 def __init__(self,port):
56 threading.Thread.__init__(self)
57 self.port = port
58
59 #重写对应的run方法
60 def run(self):
61 #创建udp客户端套接字
62 se