-
# map函數(shù)
def f(x):
? ?return x*x
h=list(map(f,[1, 2, 3, 4, 5, 6, 7, 8, 9]))
print(h)查看全部 -
#8-9匿名函數(shù)
a=[1,23,4]
b=map(lambda x:x*x,a)
print(b) ?#<map object at 0x7f9c46a87c70>
print(type(b)) ? #map的返回值在python 3.x是迭代器類型,<class 'map'>,所以將map轉(zhuǎn)回list就行了。
b2=list(map(lambda x:x*x,a)) ?#轉(zhuǎn)換為list類型
print(b2)查看全部 -
def count():
? ?fs = []
? ?for i in range(1, 4):
? ? ? ?def f(i): ? #當?shù)谝淮窝h(huán)的時候 ?i=1 ?f()被新初始化 ?函數(shù)是個死的 ?1*1是個死的 ?1*1
? ? ? ? ? ?return i*i
? ? ? ?fs.append(f(i))
? ?return fs
[f1, f2, f3] = count()
print(f1,f2,f3)查看全部 -
#閉包
def outer():
? ?name="python"
? ?def inner(): # outer函數(shù)內(nèi)部定義的函數(shù)
? ? ? ?return name
? ?return inner # 返回該內(nèi)部函數(shù)
print(outer()())
#此時執(zhí)行外層函數(shù)outer(),返回的是內(nèi)層函數(shù)的函數(shù)引用(函數(shù)名稱)--inner,
# 想要執(zhí)行內(nèi)層函數(shù),需要在outer()后邊再加個括號,即outer()(),才會讓內(nèi)層函數(shù)執(zhí)行。查看全部 -
# 8-7返回函數(shù)
def f():
? ?print('ahhh')
? ?def g():
? ? ? ?print('jjju')
? ?return g
x=f() #x=g
x() ?#g()注意:間接調(diào)用子函數(shù),不能直接調(diào)用子函數(shù)
g()
。
查看全部 -
import socket
socket.socket()
服務(wù)端
.bind()綁定ip、端口
.listen()監(jiān)聽
.recv()接收
.send()發(fā)送
客戶端
.connect()連接服務(wù)端的ip和端口
.send()發(fā)送
.recv()接收
發(fā)送和接收信息,是兩端都可以有的功能,兩端都需要建立socket后,才能進行后續(xù)操作
變量名1 = socket.socket()
#這是新建socket
變量名1.bind(‘ip地址',端口)
#這是綁定ip和端口,ip地址是字符串,端口是數(shù)字
變量名1.listen()
#這是監(jiān)聽連接
變量名2,addr = 變量名1.accept()
#這里是調(diào)用了socket的accept()函數(shù),接受連接,并且把接受的連接命名為變量名2,括號內(nèi)不能有參數(shù)
變量名3 = 變量名2.recv(1024)
#把在連接里收到的內(nèi)容存在變量名3中
變量名1.send()
#這是發(fā)送數(shù)據(jù)的函數(shù)查看全部 -
多重繼承的目的是從兩種繼承樹中分別選擇并繼承出子類,以便組合功能使用。
舉個例子,Python的網(wǎng)絡(luò)服務(wù)器有TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer,而服務(wù)器運行模式有 多進程ForkingMixin 和 多線程ThreadingMixin兩種。查看全部 -
那如何使用我們前面定義的tools.py模塊呢?
我們在tools.py同級目錄,創(chuàng)建main.py文件查看全部 -
print()可以從數(shù)據(jù)輸出數(shù)據(jù),
input()可以向程序輸入數(shù)據(jù),
open()函數(shù),可以打開一個文件,得到一個文件file對象
查看全部 -
Python官方提模塊,比如:os模塊、sys模塊、time模塊、math模塊
導(dǎo)入官方模塊,不需要考慮路徑的問題import math
查看全部 -
Python環(huán)境提供了安裝第三方模塊
pip install查看全部 -
list:len()函數(shù)
類:__len__()方法。
通過自定義__len__()方法,可以讓len()函數(shù)返回相關(guān)的結(jié)果,如果沒有定義__len__()方法的類使用len()函數(shù)獲取長度時,將會引起異常。
查看全部 -
對于Python的內(nèi)建對象,比如int、dict、list等,通過str()方法,可以把這些對象轉(zhuǎn)換為字符串對象輸出。
通過dir()方法,我們可以把對象的所有方法打印出來。
Python 定義了__str()__和__repr__()兩種方法,__str()__用于顯示給用戶,而__repr__()用于顯示給開發(fā)人員,當使用str()時,實際調(diào)用的是__str__()方法,而直接輸入變量,調(diào)用的是__repr__()方法
查看全部 -
使用 isinstance 判斷類型:
isinstance(p, Person)
True # p是Person類型
isinstance也可以用于Python自有數(shù)據(jù)類型的判斷。
isinstance(s, int) # ==> False查看全部 -
在定義繼承類的時候,有幾點是需要注意的:
class Student()定義的時候,需要在括號內(nèi)寫明繼承的類Person
在__init__()方法,需要調(diào)用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性
查看全部
舉報