python 学习笔记

类 和 实例

复制代码
class Student(object):

def __init__(self, name,score):
super(Student, self).__init__()
self.name = name
self.score = score
def get_grade(self):
if self.score > 60:
return "jige"
else:
return "bujige"


zhangsan = Student("qwerqe",90)


z_grade = zhangsan.get_grade()
print z_grade

 
复制代码

 异常的捕捉和处理

当 try 语句执行错误的时候会执行except, 如果有 finally语句,则会执行 finally语句。

try:
    print h
except:
    print "error"
finally:
    print "end"

 关于 socket 通信的一个例子

复制代码
客户端
import socket s
= socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('47.93.158.182', 9999)) # 接收欢迎消息: print s.recv(1024) for data in ['Tom', 'Tracy', 'Sarah']: # 发送数据: s.send(data) print s.recv(1024) s.send('exit') s.close()

服务端

import socket,threading,time

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('0.0.0.0',9999))
s.listen(5)
print "coming a conn"
def tcplink(sock, addr):
print 'Accept new connection from %s:%s...' % addr
sock.send('Welcome!')
while True:
data = sock.recv(1024)
time.sleep(1)
if data == 'exit' or not data:
break
sock.send('Hello, %s!' % data)
sock.close()
print 'Connection from %s:%s closed.' % addr


while True:
sock, addr = s.accept()
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()

 
复制代码

 

python 执行 shell 命令

复制代码
import commands
(status,output) = commands.getstatusoutput('service nginx status') print 'status %s' %status print 'output %s' %output

import os
os.system('service nginx status')

 import os
 out = os.popen('service nginx status')
 print out.read()

 

复制代码

 

关于函数的参数

def test(*num):
    for x in num:
        print x

if __name__ == "__main__":
    test(4,7,24,2)
输出 4 7 24 2

可以将 list / tuple 作为参数 传入

def test(*num):
    for x in num:
        print x
a = [3,56,8,23]

test(*a)
输出 3 56 8 23

 

关键字参数

def test(name,age,*num):
    print "name" +  name
    for x in num:
        print x

test("hello",3,6,3,3)

前面的 name age 是关键字参数 ,后面的 *num 是可选参数

 函数的传入

def test(x,y,make):
    return make(x)+make(y)

def make(x):
    return x+5

print test(2,5,make)  结果是 17

关于 reduce

def add(x,y):
    return x+y

a = [1,4,5,4]
b = reduce(add,a)
print b    #输出14

 

# 字典推导式
dictionary = {'a': 4, 'b': 5}
squared_dictionary = {key.upper(): num * 2 for (key, num) in dictionary.items()} 

print(squared_dictionary)   #['A':8,'B':10]

# #列表推导式
old_list = [3,6,8]
new_list = [ num + 3 for num in old_list ]  
print(new_list)   # [6,9,11]

 

 

关于map  

复制代码
def make(x):
    return x+3

a = [1,4,5,7,8]
b = map(make,a)
print b

输出的是 4 7 8 10 11 


map的高级用法,list 可以是一个函数列表
def add1(x):
return x + 1

def add2(x):
return x + 2

func_list=[add1,add2]

for i in range(4):
print map(lambda x:x(i),func_list)
[1, 2]
[2, 3]
[3, 4]
[4, 5]  
复制代码

posted on   思此狂  阅读(201)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示