day 6python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合,且不能以数字开头 (2) 变量名不宜过长,要具有可描述性 (3) 变量名不能为中文和汉字拼音 (4) 默认全大写的为常量 (5) 不能为Python的关键字 2. 字节和位的关系.(2分) 答:1个字节 == 8位 3. ’太白’使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占…
三. MySQL视图(不常用) 给某个查询语句设置个别名(视图名),日后方便使用 - 创建: create view 视图名 as SQL; PS:视图是虚拟的 - 修改: alter view 视图名 as SQL; - 删除 drop view 视图名; create view v1 as select * from student where sid>10; select * from v1; student表增加数据,v1视图也会随着增加,不能在v1里面增加数据 四. 触发器(不推荐使用…
复习: 1. MySQL:文件管理的软件 2. 三部分: - 服务端 - SQL语句 - 客户端 3. 客户端: - MySQL - navicat 4. 授权操作: - 用户操作 - 授权操作 5. SQL语句 - 数据库操作 - 创建数据库要指定字符编码: create database xx default charset=utf8; - 删除数据库: drop database xx; - 数据表操作 - 列 - 数字 整数 小数 - 字符串 - 时间 datatime - 二进制 -…
一. 复习1. MySQL: - 服务端 - 客户端2. 通信交流 - 授权 - SQL语句 - 数据库 创建数据库: create database db1 default charset utf8; 删除数据库: drop database db1; - 数据表 创建数据表: create table tb1( id int not null auto_increment primary key, name char(10), depatment_id int, constraint fk_…
迭代器 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的 1. 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir(数据) ) 可迭代的一定可以被for循环 2. 迭代器协议:含有__iter__.__next__的方法 迭代器一定可迭代,可迭代的通过调用iter()方法就能得到一个迭代器 迭代器的特点: 很方便使用,且只能取所有的数据取一次 节省内存空间 for 循环其实就是在使用迭代器 判断是不是迭代器,其实是为了使用for循环当我们…
1.自行创建测试数据 对score表进行优化: 添加数据: 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 为了方便做题,额外增加几条数据 查询: 3.查询平均成绩大于60分的同学的学号和平均成绩 4.查询所有同学的学号.姓名.选课数.总成绩 5.查询姓“李”的老师的个数 为了方便做题,额外增加几条数据 查询: 6.查询没学过“叶平”老师课的同学的学号.姓名 7.查询学过“001”并且也学过编号“002”课程的同学的学号.姓名 8.查询学过“叶平”老师所教的所有课的同学的学号.姓名…
一. 学习SQL语句规则以及外键 1. 操作文件夹 create database db2; 创建文件夹 create database db2 default charset utf8; 创建文件夹,且数据库是utf-8编码 show databases; 查看文件夹 drop database db2; 删除文件夹 2. 操作文件 use dn2; 进入文件夹 show tables; 查看所有文件 create table t1(id int,name char(10)); 创建一个有两列…
https://www.cnblogs.com/YD2018/p/9451809.html 11. 查询学过“001”并且也学过编号“002”课程的同学的学号.姓名 select student.sid,student.sname from score LEFT JOIN student on score.student_id=student.sid where (course_id=1 or course_id=2) GROUP BY score.student_id having count…
复习: 1. 增 insert into xx(name) values('root'),('xxx'); insert into xx(name) select id from tb1; 2. 自增 起始值 步长: - session - global 3. unique 唯一索引 id name(unique) email(unique) 1 1 2 3 id name email unique(name,email) 1 1 1 2 4. 排序 order by id asc 从小到大排序…
数据库: class:  course: student: teacher: score: /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 Source Host : localhost Source Database : sqlexam Target Server Type : MySQL Target Serv…
创建如图所示数据库: 创建过程:  查看数据库,创建数据库 db1,再查看一下数据库  进入数据库,查看一下表  接着再创建一个class表 发现增加了重复数据,因此要把第二个修改一下  修改完数据之后再添加一个数据,class表完成 这一步很迷啊,一直给我报错,耗了一个小时也不知道哪里错了,然后自己在记事本硬把后面的步骤写完了...完事了之后回来继续按回车....我去,可以了???!!! 添加数据 student表完成 teacher表创建完成  增加数据完毕 创建course表以及添加数据…
一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print(issubclass(B,A)) # 判断子类和父类的关系 print(issubclass(A,B)) ''' #--------------------------------------------------------------------------------# # # 反射:是用…
一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teacher, course_name, period, price): self.teacher = teacher # 授课老师 self.name = course_name # 课程名字 self.period = period # 课程周期 self.price = price # 课程价格 def…
1. 判断下列逻辑语句的True,False.(1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6True(2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6False 2. 求出下列逻辑语句的值.(1) 8 or 3 and 46 or 2 and 0 or 9 and 78(2) 0 or 2 and…
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counter.OrderedDict和defaultdict等. 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: 有序字典 5.defaultdic…
一. 递归函数 如果一个函数在内部调用自身本身,这个函数就是递归函数. 最大递归深度默认是997 -- python从内存角度出发做得限制(而不是程序真的报错),最大深度可以修改 def func(n): print(n) func(n+1) func(1) 查看最大递归深度 ‘’‘ 改变最大递归深度,根据自身电脑配置,深度各不相同 ’‘’ import sys sys.setrecursionlimit(1000000) 修改最大递归深度 举个例子: 现在你们问我,alex老师多大了?我说我不…
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. foofooC. foo2D. 2E. An exception is thrown 3. 关于字符串下列说法错误的是 BA. 字符应该视为长度为1的字符串B. 字符串以\0标志字符串的结束C. 既可以用单引号,也可以用双引号创建字符串D. 在三引号字符串中可以包含换行回车等特殊字符4. 以下不能创…
一.关系运算 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}linuxs={'wupeiqi','oldboy','gangdan'}1. 求出即报名python又报名linux课程的学员名字集合 print(pythons & linuxs)2. 求出所有报名的学生名字集合 print(pythons |…
def qqxing(l = []): # 可变数据类型 l.append(1) print(l)qqxing() # [1]qqxing([]) # [1]qqxing() # [1, 1]qqxing() # [1, 1, 1] # 如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值,就公用这个数据类型的资源 def qqxing(l = {}): # 可变数据类型 l['k'] = 'v' print(l)qqxing() # {'k': 'v'}qqxing({})…
# 文件处理# 打开文件# open('路径','打开方式', '指定编码方式')# 打开方式:r w a 可读可写:r+ 可写可读:w+ 可追加可读:a+ b# r+ :打开文件直接写,和读完再写 不一样# 编码方式:一般情况下用 utf-8 # 操作文件 # 读# read:一次性读# readlines:一次性读# readline: 一行一行读 # 不知道在哪里结束 # 视频 图片 rb 打开 bytes类型 按照字节读(不按行读,没有行的概念) # for循环 --> 最好的方法 #…
基础数据类型汇总 1. str 2. int 3. list 4. bool 5. dict (1) fromkeys Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None. 6. tuple 元组里面如果只有一个元素且不加逗号,则类型和该元素一样 7.set (1) 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重…
1. Python2与Python3的区别: Python2:源码不标准,混乱,重复代码太多: Python3:统一标准,去除重复代码. 编码方式: python2的默认编码方式为ASCII码:python3的默认编码方式为utf-8(解决方式:在文件的首行输入:# -*- encoding:utf-8 -*-) print函数: Python3中print为一个函数,必须用括号括起来:Python2中print为class input(): Python3中用input,Python2中用ro…
# 迭代器和生成器# 迭代器 # 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的# 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir(数据) )# 可迭代的一定可以被for循环# 迭代器协议:含有__iter__.__next__的方法# 迭代器一定可迭代,可迭代的通过调用iter()方法就能得到一个迭代器# 迭代器的特点: # 很方便使用,且只能取所有的数据取一次 # 节省内存空间 # 生成器# 生成器的本质就是迭代器# 生成器的表…
'''数据类型:intbool... 数据结构:dict (python独有的)listtuple (pytho独有的)setstr''' # reverse() 反转l = [1,2,3,4,5]l.reverse()print(l) # reversed() 反转,但它的反转不改变原来的列表且返回一个反序的迭代器l = [1,2,3,4,5]l2 = reversed(l)print(l2) # <list_reverseiterator object at 0x000001DF4CC309…
# 作用域相关(2)locals() # 返回本地作用域中的所有名字 globals() # 返回全局作用域中的所有名字 # 迭代器/生成器相关(3)range()print('__next__' in dir(range(10))) # False --> 可迭代的,但不是迭代器print('__next__' in dir(iter(range(10)))) # True --> iter()转换之后,就成为迭代器了 # next(迭代器) # 迭代器.__next__() == next…
1. 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] import math def func(x): return math.sqrt(x) % 1 == 0 ret = filter(func,range(0,101)) for i in ret: print(i) 2. 列表按照其中每一个值的绝对值排序 li = [1,-2,3,-48,78,9]print(sorted(li,key…
一. 接口类 java:面向对象编程 设计模式 -- 接口类 接口类:python原生不支持 抽象类:python 原生支持的 from abc import abstractclassmethod,ABCMeta class Payment(metaclass= ABCMeta): # 元类,默认元类:type @abstractclassmethod def pay(self, money): raise NotImplemented # 没有实现这个方法 # Payment 规范:接口类/…
一. 单继承 class A:pass # 父类,也叫基类,也叫超类 class B:pass # 父类,也叫基类,也叫超类 class AB_son(A,B):pass # 子类,也叫派生类 class B_son(B):pass # 子类,也叫派生类 一个类可以被多个类继承 一个类可以继承多个父类 -- python 独有的 print(AB_son.__bases__) # (<class '__main__.A'>, <class '__main__.B'>) print(…
一. 序列化模块 # 序列化 --> 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化# 反序列化 --> 从字符串转换成数据类型的过程叫做反序列化# 序列 -- 字符串 # 什么地方需要转换成字符串?# 数据存储:写文件等# 网络上传输的时候只能传bytes,故需要先转成字符串 # json -- 最重要:*****(5星级)# pickle -- ****# shelve -- *** # json # 好处:通用的序列化格式 # 弊端:只有很少的一部分数据类型能够通过json转…
一. 正则表达式 正则表达式本身和python没有什么关系,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 谈到正则,就只和字符串相关了. 字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字.字母.标点等等. 假如你现在要求一个位置"只能出现一个数字",…