一、圖形介面
1、tkinter
2、turtle
二、網路程式設計
1、tcp程式設計
(1)、 客戶端
import socket
s = socket.socket(socket.af_inet, socket.sock_stream)#af_inet表示利用的ipv4,af_inet6表示用ipv6。sock_stream表示面向流的tcp連線
s.send(data)#向伺服器傳送資料
buffer =
while true:
rec_data = s.recv(max) # 一次性接收max個大小的資料
if not rec_data or rec_data.decode('utf-8') == 『end':
break
print(rec_data.decode('utf-8'))
s.send('exit')#向伺服器傳送結束
s.close()#關閉鏈結
(2)服務端
import socket,time,threading
s = socket.socket(socket.af_inet, socket.sock_stream)
s.bind((addr, port))#接收的是乙個tuple,與本伺服器的ip位址和埠繫結
s.listen(5)#監聽,等待連線,最大連線數為5
print('waiting for connection...')
def tcplink(sock, addr):
print('accept new connection from %s:%s.' % addr)#addr是乙個tupple
req = s.recv(1024)
print('receive data: %s from client.' % req.decode('utf-8'))
for name in ['jamson', 'bob', 'marry', 'tom', 'end']:
s.send(name.encode('utf-8'))
time.sleep(2)
r = s.recv(1024)
if not r or r.decode('utf-8') == 'exit' :
s.close()
while true:
sock,addr = s.accept()
t = threading.thread(target = tcplink, args = (sock, addr))
t.start()
2、udp程式設計:
(1)服務端udp_server.py
import socket,os
s = socket.socket(socket.af_inet, socket.sock_dgram)#sock_dgram表示為udp
print('current pid is %s.' % os.getpid())
s.bind(('127.0.0.1',9990)
while true:
data,addr = s.recvfrom(1024)
print('receive from %s:%s.' % addr)
s.sendto(b'hello,%s' % data, addr)#引數為資料和乙個tuple位址(ip, port)
(2)客戶端udp_client.py
import socket
s = socket.socket(socket.af_inet, scoket_sock_dgram)
for data in [b'jamson', b'tom', b'james']
s.sendto(data,('127.0.0.1',9990))
print(s.recvfrom(1024).decode('utf-8'))
s.close()
三、資料庫
1、sqlite3
python有自帶的資料系統sqlite3,小型資料庫,主要用於嵌入式系統和移動應用
import sqlite3
conn = sqlite3.connect('test.db') #如果沒有該資料庫,會自動建立乙個資料庫
cursor = conn.cursor()
cursor.execute('create table user (id varchar(10) primary key, account varchar(20), password varchar(20))')
cursor.execute('insert into user (id, account, password) values(\'1\', \'jamsonwan\', \'jamson123gbk\')' )
cursor.execute('select * from user')
values = cursor.fetchall()#結果是乙個list,每乙個元素是乙個tuple
cursor.close()
conn.commit()#提交事務
conn.close()
2、mysql
(1)、mysql的安裝以及配置
首先更新系統軟體包:sudo apt-get update
配置mysql:sudo mysql_secure_installation #請記住登入mysql的密碼
建立普通使用者:
sudo mysql -r root -p
create user 'jamson' @'localhost' identified by 'jamson' ; #新建本地使用者jamson,密碼為jamson。若要遠端,請把localhost換成遠端的ip位址
grant all on *.* to 'jamson' @'localhost' with grant option; #給使用者jamson授權
這樣就可以終端登入mysql。mysql -u jamson -p
(2)、python的mysql
import mysql.connector
conn = mysql.connector.connect(user='jamson', password = 'jamson', database='test')#其餘操作與sqlite一樣
cursor = conn.cursor()
cursor.execute('create table user(id int primary key, name varchar(20)')
cursor.execute('insert into user(id,name) values (%s, %s)', [1, 'jamson'])
conn.commit()
cursor.close()
conn.close()
執行一次insert,delete等操作要commit一次,提交事務
3、orm框架 sqlalchemy
python學習筆記day09 函式
函式的定義和函式的呼叫不是一回事,程式執行時,遇到定義函式,只會執行定義函式名處,裡面的函式體這個時候是不會執行的 只有到呼叫函式處才會執行裡面的函式體 沒有返回值 無 return 返回none 只有 return 返回none return none 返回none 有返回值 可以返回任意資料型別...
python之路day09 函式
s 金老闆啊 print len s 內建函式 s 金老闆啊 def my len i 0 for k in s i 1 print i print my len none s 金老闆啊 def my len 自定義函式 i 0 for k in s i 1 print i return i 返回值...
Day09 學習CSS基礎
在html的頭部用標籤寫css樣式,裡面定義選擇器定義不同的屬性值 一種選擇器 選擇所以h1標籤 color顏色屬性為red h1style rel stylesheet href css style.css style color yellow 標題h1 哪種方式生效根據就近原則,先執行的會被後執...