python简洁

本文介绍了Python编程的基础知识,包括其简洁的语法特性、模块导入、数据结构如集合和字典的操作,以及字符串处理。此外,还涉及了Python中的文件操作、网络知识如TCP/IP、HTTP/HTTPS,Web服务器的基本配置,以及如何访问数据库,特别是SQLite的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python基础
特点:简单、免费、开源、面向对象、解释型(边解释边执行)、可移植到多个平台、面向对象
首字符可以是下划线或者字母,但不能是数字,
关键字
在这里插入图片描述
模块
import、from m2 import x、from m2 import x as x2

集合中数组、字符串、字典等都可以有,字典只保存k键,value不保存。集合交并比,&|-。
字典:相互映射结构,key键,value值,name=dict(),name={张三:10,李四:20}。if i in name:
关系运算:布尔类型
目录搜索:深度学习算法
os.listdir(path)#得到目录下的文件
os.path.join(path,child)
递归
if \if -else\if-elif-else循环,while和for-in, break\continue

容器类型数据:序列、列表、元组、集合和词典
1、序列:有序,可迭代,序列用索引操作访问序列内元素,负值索引最后一个是-1;切片[start;end;step]; 成员测试in/not in

2、列表:可变序列,创建list(‘Hello’)或者[20,10,50,30],追加单个append(x),多个‘+’或者extend(); 插入list.insert(i,x); 替换list[i]=80; 删除list.remove(x)

3、元组: 创建tuple(iterable),t=1,加逗号表示创建元组,空元组a=();元组拆包s_id,s_name=(‘103’,‘张三’)

4、集合:无序,不重复,创建集合set(iterable)或者{20,20,10,15},添加add(x), 删除remove(x),clear()清除集合

5、字典 键访问值,键不可以重复,dict()创建,{key1: v1,key2: v2},字典里面可以为多个元组组成,dict(zip([102,105],[‘张三’,‘李四’]));修改按照键修改;pop(key)删除键值对;访问字典视图dict.item()字典的所有键值对视图,dict.keys(), dict.values()

字符串:普通字符串中\n表示换行符;原始字符串中r’sS\n’表示\n;长字符串中’‘‘特别长的字符串,保持原格式’’';
字符串转数字int()和float();数字转字符串str(),{}表示占位符,查找str.find(sub[,star[,end]]),替换str.replace(old,new[,count]),f分割 str.split(分割依据,maxsplit=3),最多分割为3个。
格式化控制符
在这里插入图片描述
基于元组的可变参数(*可变参数),参数数量没有限制;基于字典的可变参数(**可变参数);函数中变量的作用域全局和局部变量;计算函数是返回另外一个函数;
过滤条件函数filter(f1,data1),其中f1是关联关系;
在这里插入图片描述
映射函数list(map(f1,data1)),f1是函数关系;
在这里插入图片描述
lambda 参数列表:lambda体
lambda a,b: (a+b)

类:实例变量name、age
def init(self,name,age):
self.name=name
self.age-age
类变量是共有的,类方法@classmethod
在这里插入图片描述
在这里插入图片描述
封装性:私有变量,self.__amount#私有变量是带两个下划线 ;私有方法只能在类的内部访问; 为实现封装,在一个类中不应该有公有的成员变量,使用set(赋值)和get(取值)方法访问:get_age(self)等价
@property
def age(self)
set_age等价于
@age.setter
def age(self, age)
在这里插入图片描述
继承
在这里插入图片描述
python支持多继承,会出现重复继承,但有先后顺序,从左到右;方法重写;多态性是重写子类的方法
异常:try:-except():
finally释放资源,手动引发异常raise语句;
模块:math.ceil(2.5)=3,math.floor(2.5)=2,math.pow(5,3)=125
datetime日期时间:datetime.datetime()
datetime.time()时间跨度datetime.timedelta()
d=datetime.datetime.today()
d.strftime(‘%Y-%m-%d %H:%M:%S’)
正则表达式re:正则表达式写法
re.match(p,text);search(p,text);findall(p,text)
re.sub(p,new,old,count=0);re.split(p,text)

文件:打开f=open(‘xxx.txt’,‘w+’);f.write(‘aaa’)
关闭文件f.close()
with open(文件名) as f:
f.read()
无需关掉代码块
读写文本文件read();readline()返回单行字符串;readlines()每一行为字符串列表的一个元素;write(s);writelines(lines);flush()刷新写缓冲区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
读写二进制文件同上
在这里插入图片描述
线程:
一个进程就是一个exe或者dll程序,一个进程包含多个线程。
线程模块-threading,创建子线程两种方式:(1)自定义函数实现线程体,(2)自定义线程类实现线程体
在这里插入图片描述
在这里插入图片描述
线程管理:线程创建、线程启动、线程休眠、等待线程结束和线程停止。
等待线程结束:join(timeout=none)
在这里插入图片描述
线程停止:
在这里插入图片描述
在这里插入图片描述

网络知识

TCP/IP
IP 不能保证抵达目的地,TCP保证数据包安全送达
IP地址有IPv4和IPv6,计算机标识,局域网:192.168;本机地址是127.0.0.1
IP地址唯一,端口不同。
HTTP无连接协议,每次请求时建立连接,服务器处理完客户端请求后,先应答客户端,然后断开连接,不会一直占用网络资源。
HTTPS加密
HTTP定义了8种请求方法:OPTIONS、HEAD、GET、POST、PUT、DELETE、PRACE和CONNECT
GET请求方法:发送少量,读取
POST方法:大量,指定发送,安全

Web服务器

(1)安装jdk
(2)配置java运行环境
(3)安装Apache Tomcat服务器、启动、测试
测试:127.0.0.1:8080/NoteWebService
在这里插入图片描述
urllib.request模块的Request对象:
发送GET请求

import urllib.request
url = 'http://localhost:8080/NoteWebService/note.do?action=query&ID=10'
req = urllib.request.Request(url)//get请求
with urllib.request.urlopen(req) as response://发送网络请求
    data = response.read()
    json_data = data.decode()//转换字符串
    print(json_data)

    py_dict = json.loads(json_data)#解码json字符串
    

发送POST请求

import urllib.request
url = 'http://localhost:8080/NoteWebService/note.do'

#准备HTTP参数
params_dict = {'action':'query','ID':'10'}
params_str = urllib.parse.urlencode(params_dict)
print(params_str)

#字符串转字符序列
params_bytes = params_str.encode()

req = urllib.request.Request(url,data=params_bytes)//get请求
with urllib.request.urlopen(req) as response://发送网络请求
    data = response.read()
    json_data = data.decode()//转换字符串
    print(json_data)

JSON数据
decode解码json为python;loads(str)解码,

访问数据库

SQLite数据库
GUI管理工具管理SQLite数据库
在这里插入图片描述
sqlite3的数据库连接对象connection
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值