9/1
今日考题
1.什么是对象,类,父类
对象就是一个个个体
好比是王者荣耀里一个个英雄
类则是个体的共同点的整合
类似于英雄的分类阵营
父类则是对于类的共同点整合
比类范畴更厉害一点
2.python代码如何定义类,产生对象(请写出代码)
class Sth: # 先定义出类
age = 18 # 放入相同的数据
def fittness(self): # 定义方法
print('power')
somebody = Sth # 创建出了对象
3.对象如何具备独有数据,类中定义的函数有什么特别之处
class Sth: # 先定义出类
age = 18 # 放入相同的数据
def __init__(self,name) # 这个name 就是独有的数据
self.name = name
def fittness(self): # 定义方法
print('power')
somebody = Sth('leo') # 独有的name就定义好了
"""
类中的函数称之为方法
方法后面必须要在第一个位置参数放self
"""
4.对象查找数据的顺序是什么
先自生找 >>> 然后去类里面找 >>> 再去父类里面找
5.谈谈异常捕获
语法错误pycharm中会直接飘红,应该马上修改
逻辑错误的出现可以通过不同的终端错误提示可以去定位和诊断是什么错误发生在哪里
try:
被检测的代码
except 错误类型 as 变量名:
print('变量名') # 打出来可以看到错误类型和位置的文本
else:
没有错误执行的子代码
finally:
无论有没有错都会执行的子代码
复习巩固
- 面向对象基本概念
对象:数据和功能的结合体
类:多个对象系统数据和功能结合体
# 类的产生主要是为了减少代码冗余 核心还在于对象
- 如何定义类实例化对象
class MyMaid:
ant = 'dragon' # 共同的数据
def cook(self): # 共同的功能(方法)
pass
'''有时候会将类里面的数据和方法统称为属性'''
tuolu = MyMaid()
'''类加括号执行几次就会产生几个新对象'''
- 对象如何访问数据
通过句点符
联想数据类型内置方法
- 对象如何具备独有的数据
def __init__(self,name,age):
self.name = name
self.age = age
- 对象查找数据的顺序
一定是先从对象自生找
再去产生对象的类中找
再去类的父类(可以有多个)中找
还找不到就报错了
- 重点补充
继承
class MyMaid(想要继承的类的名字):
pass
- 异常处理
异常定位
异常类型
异常信息
语法错误
绝不能姑息
逻辑错误
可以允许的
try:
检测的代码
except 异常类型 as e:
代码出错执行
else:
代码没有异常会走
finally:
无论有没有异常最后走
内容概要
主体:数据库MySQL(重要)
- 数据库简介
- 软件开发架构
- 数据库的分类
- SQL语句的由来
- MySQL数据库简介
- MySQL下载和安装
这些虽然只是理论但是都很重要
详细讲解
数据库简介
数据库存储数据的演变过程
1.文件
leo|123 # 普通文本
{"name":"leo","pwd":123} # json格式
'''
缺陷
1.数据格式千差万别 导致程序兼容性很差
2.数据安全性较弱 容易丢失
'''
2.单机游戏
数据保存在本地的一个文件夹内 数据格式由程序设计者定义好
'''
缺陷
1.数据彼此之间无法共享
eg:游戏进度 用户数据
2.数据安全性较弱 容易丢失
'''
3.网络游戏
数据保存在你你暂时不知道的地方 数据可以共享并且安全性较高
软件开发架构
1.c/s架构
c: client 客户端
s: server 服务端
eg:
客户端相当于要去店里消费的客人 服务端相当于一家家店
2.b/s架构
b:broswer 浏览器
s:server 服务器
eg:
浏览器相当于可以去多家店里消费的客人 服务器相当于是一家家店
# b/s架构本质也是c/s架构·
数据库概念
# 数据库其实就是一款c/s架构的软件
基于网络通讯(可以是互联网 也可以是局域网 甚至客服端和服务端都在你电脑上可以单机)
数据库操作可以简单理解为基于网络远程操作文件
数据库的分类(非常重要)
由于数据库就是一款c/s架构的软件 所以数据库软件其实有很多
1.关系型数据库
具有固定的表结构
并且表与表之间可以建立外键关系
MySQL, Oracle, PostgreSQL, sql server, sqlite, MariaDB, access
1.MySQL
开源免费的 也是目前市面上使用最多的
2.MariaDB # 小故事为了防止MySQL收费
跟MySQL是同一个作者
3.Oracle
安全性极高 收费也极高
只有大型互联网企业才会使用 尤其银行
4.PostgreSQL
可扩展性非常强 可以基于现有的功能额外开发(改装)
5.sql server
老牌数据库
6.sqlite
小型数据库 一般用于本地小数据量的测试
...
2.非关系型数据库
没有固定的表结构
数据存储格式采用的是K:V键值对的形式
redis, mongoDB, memcache
1.redis
是市面上目前最火的一款非关系型数据库软件
2.mongoDB
在爬虫和大数据领域使用广泛
3.memcache
基本被redis淘汰
...
SQL语句与NoSQL语句
# SQL语句就是用来操作关系型数据库的语言
# NoSQL语句就是用来操作非关系型数据库的语言
由于可以充当数据库客服端的语言非常多,为了能够兼容
数据库专门开发了一门用来与数据库打交道的语言>>>SQL语言
'''也就意味着以后要操作数据库 统一使用SQL语句'''
重要概念
针对关系型数据库
库 >>> 文件夹
表 >>> 文件夹里的文件
数据 >>> 文件夹里文件里的一行行记录
# 这也是为什么说 数据库就是一款远程操作文件的软件
MySQL数据库
MySQL5.5 基本不用
MySQL5.6 使用较广泛
MySQL5.7 在逐步向这里过渡
MySQL8.X 最新版
# 版本不影响我们学习SQL语句
'''
我们学习阶段MySQL客服端和学习端全部下到本地
等进公司了服务器会单独拎出来 通过互联网 局域网访问
'''
先百度找到MySQL官网
https://dev.mysql.com/downloads/mysql
点击downloads
往下翻找到MySQL Community (GPL) Downloads »
MySQL Community Server
Archives看时间线找到需要的版本
找到对应的版本下载
下载完毕后解压至容易找到的路径下(最好不要是c盘)
文件目录介绍
bin文件夹
存储的是启动程序文件
mysql.exe 客户端
mysqld.exe 服务端
data文件夹
存储的是数据相关的文件
my-default.ini
数据库的默认配置文件
README
类似于产品说明书
然后就可以顺手把这个bin的文件夹添加到环境变量
移除之前的环境
1.以管理员身份打开cmd窗口
2.将MySQL服务关闭
net stop mysql
3.移除系统MySQL服务器
mysql --remove
mysqld --remove
4.删除MySQL相关环境变量
5.删除MySQL相关文件夹
# 之后就能下载压缩包从头开始
基本使用
1.要想使用MySQL必须先启动服务器
2.客服端登录服务器
mysql # 游客模式 功能和权限都很少
# 既然要学习就要通过管理员身份登录这样所有功能都有
3.退出游客账号并与管理员身份登录
exit\quit
'''进入公司后每个人都有自己的账户密码和权限'''
管理员用户名:root
初始没有密码
# 完整命令
mysql -h 127.0.0.1 -P 3306 -uroot -p
127.0.0.1代表找本机的IP地址
3306是MySQL默认端口号
# 本地操作可以简化
mysql -uroot -p
系统服务制作
1.如何查看计算机内部所有的系统服务
方法1:鼠标移动到底部任务栏选择任务管理器查看任务即可
方法2:windows + R 输入services.msc即可
2.将MySQL服务添加到系统服务中
用管理员身份打开cmd
在cmd窗口输入
mysql --install
3.添加完成后第一次需要手动启动
方法1:找到服务鼠标右键点击启动即可
方法2:在cmd窗口输入
net start mysql
'''过程中报错不要慌 百度解千愁'''