进程与线程的区别:
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位;
在开销方面:简单说就是进程开销大,线程开销小;即,每个进程都有独立的代码和数据空间,程序之间的切换开销较大;线程可以看作轻量级的进程,同一类线程共享代码和数据空间。
所处环境:在操作系统中能同时运行多个进程(程序),在一个进程中可以由多个线程同时进行;
内存分配:系统在运行的时候会给每个进程分配不同的存储空间;线程除cpu外,系统不会给线程分配内存。
:python第三方库
Pillow:它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
NumPy:它为Python提供了很多高级的数学方法。
matplotlib.一个绘制数据图的库。对于数据科学家或分析师非常有用。
【Python系统运维常用库】
1、psutil是一个跨平台库()
能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。
2、dnspython()Python实现的一个DNS工具包。
3、IPy(),辅助IP规划。
写一个判断任意三个数是否可以组成三角形的简单程序:
def ispositive(numb):
try:
float(numb)
except:
return False
else:
if float(numb)<=0:
return False
else:
return True
num1 = input("pls enter 1st number:\n")
while not ispositive(num1):
num1 = input("That's not a valid number. Try again:\n")
num2 = input("pls enter 2nd number:\n")
while not ispositive(num2):
num2 = input("That's not a valid number. Try again:\n")
num3 = input("pls enter 3rd number:\n")
while not ispositive(num3):
num3 = input("That's not a valid number. Try again:\n")
if num1+num2 > num3 and num2+num3 > num1 and num3+num1 > num2:
if num1 == num2 and num2 ==num3:
print("This is an equilateral triangle. ")
elif num1 == num2 or num2 == num3 or num1 == num3:
print("This is an isosceles triangle.")
elif num1**2+num2**2==num3**2 or num3**2+num2**2==num1**2 or num1**2+num3**2==num2**2:
print("This is a RTriangle")
else:
print("This is a triangle.")
else:
print("This isn't a triangle.")