Python学习笔记1

1Python的数据结构:
1:序列:  列表(可改变)
               元祖 (不可改变)
2:映射:字典
3:无序:集合
ASCII:八位   Unicode:16位 
2Python的函数
abs:绝对值
match.sqrt:开方
match.ceil:上入
match.floor:下入
pow:幂
repr:字符串
str:字符串
round:四舍五入
help:帮助
input:输入
raw_input:原始输入
camtch.sqrt:负数开方
3Python的运行
(1)命令行运行程序:Python hello.py
(2)把脚本像普通程序一样运行:#!/usr/bin/env python放在程序首行
      再运行:hello.py 或者 ./hello.py
 
模块:一组函数的集合用于程序的扩展
(1)import match
     match.sqrt(25)
(2):from match import sqrt
      sqrt(25)
 
+号只能连接字符串,不能连接字符串和数字
要先把数字变成字符串:三种方式:str   repr   ``
例:temp=32
>>>print "I am chennan"+`temp`
I am chennan 32 
即可
 
4字符串是不可变
split:分割字符串
strip:去除两侧的空格,不包含内部
 
 
 
 
5列表:list函数,可改变序列
>>>x=[1,2,3,4,5]
 
1:删除元素:                                   del x[1]
2:分片元素:                                  x[2:]=[1,1,1,1]
3:追加:元素:append
              列表:extend
4:插入:insert                           x.insert(3,‘5')
5:计数:count
6:索引:index
7:移除:pop:返回值                  x.pop()
8:排序:                                   x.sort()

9:反向:reverse                         x.reverse ()

 
6元祖:tuple函数,不可改变序列
(4,2,1,2,5,3,7)
>>>tuple([1,3,4,5,2])
(1,3,4,5,2)
tuple函数可以将列表改成元祖
 
 
7字典:键值对的形式
1:x={"chen":"12", "liu":"32",  "xu":"42"  }
 
2:>>>item=[("name",chen""),("age","12")]
     >>> x=dict(item)
x={"name":"chen", "age":"12",  }
 
字典的方法:clear:清空
             copy:复制
             get:访问
             fromkeys:根据给定的键建立字典
             has_key:判断是否有键
             items:将字典转换成列表
            popitem:随机删除元素
 
 
8集合:由序列构建  无序
set([1,2,3,4,5,6,7])

9函数
print语句打印由多个逗号隔开的值
import ..... as.....导入函数并进行局重命名部
exec:执行语句
eval:计算表达式
pass:什么也不做
del:删除
 
判断语句:if   
              elif  检查多个条件语句:else  if 的简写 
              else
 
10:模块:
模块是程序
模块用于定义函数
包是模块的集合
模块中的标准库:
 
1:sys:
path:路径
stdin:标准输入流
stdout:标准输出流
argv:命令行参数
exit:退出信息
modules:映射模块名称到模块载入的字典
stderr:标准错误流
 
2:OS:
envior:对于环境变量进行映射
sep:路径中的分隔符
pathsep:分割路径的路径符
linesep:行分隔符
 
3:fileinput
filename:名称
close:关闭序列
nextfile:下一个
 
 
4:time
sleep:休眠
time:当前时间
astime([tuple]):将时间元祖转化成字符串
mktime(tuple):将时间元祖转化成本地时间
localtime([sec]):将秒数转化成时间元祖
 
5:   random:随机函数
 
6:re:正则式
match
compile
search
split
findall
sub
escape
 
7:shelve:创建持续性映射,同时将映射的美容保存在给定文件名的数据库。
 
 
网络编程:
socket编程:套接字主要是两个进程之间的信息通道,程序可能分布在不同的计算机上,通过套接字互相接收信息。
 
一个小型服务器
import socket
s=socket.socket()
 
host=socket.gethostname()
port=1234
s.bind((host,port))
 
s.listen(5)
while true:
         c.addr=s.accept()
         print "I am chen  nan",addr
         c.send("hello boy")
         c.close()
 
一个小型客户机:
import socket
s=socket.socket()
 
host=socket.gethostname()
port=1234
s.connect((host,port))
print s.recvz(1024)
 
urllib和urllib2模块
1:打开远程文件
from urllib import urlopen
webpage=urlopen("http://www.baidu.com")
2:获取远程文件
urlretrieve("http://www.baidu.com","Cchennan.xml")
 
Socketserver框架:同步网络服务器基类:很容易编写服务器,可以用分叉和线程来处理混入类。
包含四个基类:
1:TCPServer
2:UDPServer
3:UnixStreamServer
4:UnixDatagramServer
 
编写一个socketserver服务器程序

大部分代码会在请求处理程序中:requesthandler

如果使用的是流,可以使用StreamRequestHandler
self.rfile用于读取
self.wfile用于写入
 
from socketserver import TCPServer,StreamRequestHandler
 class Handler(StreamRequestHandler)  
      def  handle(self)
              addr=self.request.getpeername(0
               print "I am chennan",addr
               self.wfile.write("Hello  boy") 
server=TCPServer(("",1234),Handler)
server.server_forver()
 
SQLite数据库
先需要下载PySQLite的Windows版和SQLite
import sqlite3
conn=sqlite3.connect("somedatabase.db")
curs=conn.cursor()  //获得游标
conn.cmmmit()//提交
conn.close()//关闭
 
游标cursor():通过游标执行sql查询并检验结果
结果可以一个一个获得,也可以很多个一起获得。
 
 
 
Python和万维网
 
urllib和urlopen和re正则表达式抓取网页
Beautiful Soup是个小模块用来解析和检查看到的那些不规范的HTML
CGI:通用网关接口,它是网络服务器可以将查询结果(一般是web表单)传递到专门的程序,比如Python程序,并在网页上显示结果的标准机制。
 

cgi模块和cgitab模块对于编写CGI脚步有用

mod_python:处理程序框架让在Python中编写Apache框架变为可能
有三个标准处理程序
1:CGI处理程序
2:PSP处理程序
3:   发布处理程序
 
Web应用程序框架:Django框架
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/hellochennan/p/5373145.html