自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 伪类选择器

伪类选择器<!-- 1.什么是伪类选择器 伪类选择器选中的是标签的状态,可以让同一个标签在不同的状态下有不同的样式 普通选择器:伪类选择器 2.常见的伪类选择器 link - 链接没有成功访问过对应的状态;(只针对超链接有效) visited - 链接已经访问过的对应的状态;(只针对超链接有效) hover - 鼠标悬停在标签上对应的状态;(针对所有可见标签有效) active - 鼠标按下还没放开的时候的状态;(针对所有课间标签有效) focus - 成为焦点对应的状

2020-07-07 19:52:13 258

原创 选择器

选择器<!-- 1.常用选择器 1)标签选择器(元素选择器) - 直接将标签名作为选择器,选中当前页面中所有指定的标签 2)id选择器 - 在id属性值前加#号作为一个选择器,选中当前页面中id值指定的标签(id一般是唯一的) 3)类选择器(class选择器) - 在class属性之前加.作为一个选择器,选中当前页面中所有class值是指定的值的标签 注意:不同的标签的class值可以相同,同一个标签可以同时拥有多个不同的class值 4)后代选择器 - 将多个独立的

2020-07-07 19:43:35 259

原创 CSS基础语法

CSS基础语法<!-- 1.什么是css css又叫层叠样式表 时web标准中的表现标准,负责标签(内容)的样式和布局2.css代码写在哪 内联样式表 - 将css代码写在标签的style属性中(样式只针对一个标签有效) 内部样式表 - 将css代码写在style标签中(只针对整个html中的标签) 外部样式表 - 将css代码写在css文件中,然后再html中用link标签去导入(针对所有html中所有标签有效) 内联样式表的优先级最高,内部样式表和外部样式表谁后出现谁的

2020-07-07 19:43:15 216

原创 select和textarea

select和textarea<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 1.select标签 select - 整个下拉列表 option - 下拉列表中的选项 注意:name和value属性都要赋值

2020-07-07 19:38:16 208

原创 input

input<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 文本输入框 input标签会因为type属性值不同功能完全不一样 name属性:对输入框输入的数据进行说明和区分的,类似字典的key value属性:就是输入框中输入显示的内容(和输入框中

2020-07-07 19:37:39 155

原创 用html制作个人简历

用html制作个人简历<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <table border="3" cellspacing="0"> <tr height="50" align="center"> <td colspa

2020-07-06 19:54:22 3073

原创 table标签

table标签<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- html中和表格相关的常用标签 table标签:表示整个表格 tr标签:表示一行 td标签:表示一个单元格 table相关属性 border - 边

2020-07-06 19:53:28 176

原创 图片和超链接

图片和超链接<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 1.图片标签:img src属性 - 图片地址(可以是本地图片地址或者网络图片地址) --> <h1 id="h1">本地图片</

2020-07-06 19:53:06 157

原创 HTML列表

HTML列表<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 1.列表标签:ul标签,ol标签,dl标签 ul:无序列表 ol:有序列表 dl:自定义列表 1)无序列表 列表元素 - li标签 --&gt

2020-07-06 19:52:00 131

原创 文本标签

文本标签<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!-- 1.标题标签:h1~h6 h1 - 一级标题,以此类推 --> <h1>标题1</h1> <!-- 2.段落标签:p 一个段落对应一个p

2020-07-06 19:51:34 129

原创 head中的语法

head中的语法1.head中的标签meta - 设置网页元数据的标签(网页设置性的操作)title - 设置网页标题style - 导入样式表的标签(head和body中都可以用)link - 导入外部文件(设置网页图标,导入外部样式表,head和body中都可以用)但是设置图标的功能只能在head中实现script - 导入js代码或者js文件(JS)<!DOCTYPE html><html> <head> <!--

2020-07-06 19:50:29 473

原创 HTML基本语法

HTML基本语法1.HTML基本语法1)在html中大小写不敏感2)html是通过不同的标签来给网页提供不同的内容2.标签(又叫标记)语法:双标签:<标签名 属性名1=属性值1 属性名2=属性值2 …>标签内容</标签名>但标签:<标签名 属性名1=属性值1 属性名2=属性值2 …> 或者 <标签名 属性名1=属性值1 属性名2=属性值2 …说明:1)标签名 - html提供的标签的名字(不是自创的)写法上不能和<或者>或者/有空

2020-07-06 19:49:36 250

原创 内存管理

内存管理1.内存管理:python内存管理是自动化(指的是对堆上的内存进行管理)2.内存的开辟需要保存数据的时候,系统就会自动给在堆上开辟内存空间保存数据注意:如果需要被保存的数据是字符串或者数字,系统就会先检查专门保存数字字符串的缓存区中是否已经存在了这个数据,如果存在直接返回之前的数据的地址,不存在才会开辟新的内存区保存str1 = 'abc'list1 = ['abc',10]print(id(str1),id(list1[0])) #1981911700336 1981911

2020-07-04 08:53:17 102

原创 拷贝

拷贝from copy import copy,deepcopyclass Dog: def __init__(self,name,color='黑色'): self.name = name self.color = colorclass Person: def __init__(self,name,age=0,gender='女'): self.name = name self.age = age

2020-07-04 08:49:17 168

原创 单例模式

单例模式from copy import copy1.单例类def Person(*args,**kwargs)对象 = Person.new()对象.__init–(*args,**kwargs)returnclass Person: __obj = None def __new__(cls, *args, **kwargs): # print('new') # new_obj = super().__new__(cls)

2020-07-02 19:57:16 115

原创 运算符重载

运算符重载1.运算符重载python中使用每一个运算符都是在调用运算符对应的方法(每个运算符都有自己对应的方法)某种类型的数据支不支持某个运算符,就看这个数据对应的类型中有没有实现运算符对应的方法# 10 + 20 # 10.__add__(20)# 'abc' + '123' # 'abc'.__add__('123')# 100 - 10 # 100.__sub__(10)class Person: def __init__(self,name='',ag

2020-07-02 19:56:27 126

原创 继承

继承1.什么是继承让子类直接拥有父类的属性和方法的过程就是继承父类 - 被继承者(又叫超类)子类 - 继承者2.怎么继承class 类名(父类1,父类2…):类的说明文档类的内容class 类型(object) - 默认情况下,定义的类继承自objectclass Person: num = 61 def __init__(self): self.name = '小明' self.age = 18 self.g

2020-07-02 19:56:06 129

原创 getter和setter

getter和setter1.getter 和 setter的作用getter作用:在获取某个属性值之前做别的事情,就给这个属性添加gettersetter作用:如果在给属性赋值之前想要做别的事情,就给这个属性添加setter2.怎么添加getter和setter1)getter第一步:在需要添加getter的属性名之前加_第二步:定义getter对应的函数(1.需要@property装饰器,2。函数名就是不带_的属性名 3. 函数需要一个返回值)第三步:获取属性值的通过:对象.不带下划线的

2020-07-01 17:56:44 514

原创 私有化

私有化1.访问权限公开的:在类的内部和外部都可以使用,也能被继承保护的:在类的内部可以使用,类的外部不能使用,可以被继承私有的:只能在类的内部使用,不能被继承严格来说,python中所有属性和方法都是公开的,这里说的私有化其实是假的私有化class Person: num = 100 __num2 = 61 def __init__(self): self.name = '小明' self.age = 10 self.__g

2020-07-01 17:56:08 285

原创 内置属性

内置属性python在定义类的时候系统自动添加的属性(从基类中继承下来的属性)就是内置属性class Student: def __init__(self, name, age): self.name = name self.age = ageclass Dog: # 类属性 num = 100 # __slots__ = # 对象属性 def __init__(self, name, age=1, color='白色

2020-07-01 17:55:30 276

原创 类属性

类属性1)类属性直接定义在类中的变量就是类属性类属性的值不会因为对象不同而不一样2)对象属性通过self.属性名 = 值 定义在init函数中的属性对象属性的值会因为对象的不同而不一样对象属性的增删改查python 中类的对象的属性支持增删改查class Student: def __int__(self,name = '小明',age = 0,gender = '男',score = 0): self.name = name self.age =

2020-07-01 17:55:02 717

原创 类和对象的方法

方法方法类中方法有三种:对象方法,类方法,静态方法1)对象方法怎么定义:直接定义在类中的函数就是对象方法特点:自带参数self(self在调用对象的时候不用传参,系统会将当前对象传给self),谁调用指向谁怎么调用:用对象去调用(对象.方法名())2)类方法怎么定义:定义函数前加装饰器 @classmethod特点:自带参数cls(cls在通过类调用的时候不用传参,系统会自动将当前类传给cls)怎么调用:用类调用(类.方法名)3)静态方法​ 怎么定义:在定义函数前加一个装饰器

2020-06-30 20:41:23 228

原创 类和对象

类和对象什么是类,什么是对象类就是拥有相同属性相同功能的对象集合对象就是类的实例从生活的角度:人是类,个人就是对象2. ##### 定义类(说清楚共同属性和功能是哪些)语法:class 类名:类的说明文档类的内容(包含属性和方法)说明:class - 关键字类名 - 自己命名(和变量名函数名一样:标识符,不是关键字,驼峰式命名,并且首字母要大写,见名知意;不适用系统的函数名,类名,模块名)类的说明文档 - 用""""""引起来的说明性文字,主要说清楚提供了哪些属性和哪些功能

2020-06-30 20:41:09 181

原创 re模块

re模块re.compile(正则表达式) - 编译正则表达式,创建正则表达式对象re_obj = re.compile(r'\d{3}')re.fullmatch(r'\d{3}','234')a = re_obj.fullmatch('234')print(a)re.search(r'\d{3}','123321bjidionb3h21')b = re_obj.search('123321bjidionb3h21')print(b)匹配1) fullmatch(

2020-06-30 20:39:41 152 1

原创 正则表达式的分支和分组

正则表达式的分支和分组1. 分支 |正则1|正则2|…写一个正则匹配一个字符串匹配123abc和456abcre_str = r'123abc|456abc'print(fullmatch(re_str,'456abc'))2. 分组:()1) 整体操作re_str = r'(abc){3}'print(fullmatch(re_str,'abcabcabc'))写一个正则匹配一个字符串匹配123abc和456abcre_str = r'(123|456)abc'print(ful

2020-06-30 20:39:16 456

原创 正则表达式

正则表达式from re import fullmatch,searchre是python里提供专门使用正则表达式的相关函数1.什么是正则表达式正则表达式是一种让字符串处理更简单的工具(本质是做字符串匹配的)2. 正则表达式的语法fullmatch(正则表达式,字符串) - 让正则表达式和字符串进行完全匹配,如果匹配失败,结果是Nonepython的正则表达式:r’正则表达式’1)普通字符 - 表示字符本身re_str = r'abc'result = fullmatch(re_

2020-06-30 20:38:33 198

原创 异常捕获

异常捕获什么是异常捕获让程序执行过程中出现异常的时候不崩溃可以继续运行注意:不是任何时候都要使用异常捕获,实在你明明知道某个位置可能会出现异常,但又不想让程序崩溃的时候才使用异常捕获的语法1)结构一:可以捕获所有异常try:代码段1except:代码段2说明try,except - 关键字,固定写法: - 固定写法代码段1 - 是和try保持一个缩进的一条或多条语句;可能会出现异常的代码(需要捕获异常的代码)代码段2 - 异常出现后需要做补救的

2020-06-29 20:38:47 263

原创 json数据

json数据什么是json1)json存在的意义:json就是不同编程语言之间进行数据交流的一种通用格式2)概念json是种数据格式:一个json有且只有一个数据,这个数据是json支持的数据类型的数据3)json支持的数据类型:数字类型,字符串,布尔,数组(列表),字典(对象),null(空值None)数字类型:所有数字(1,2,3,4,5,-1,0.32,3e4)字符串:用双引号引起来的文本数据(支持转义字符) - 必须是双引号布尔:只有true和false两个值数组:相当

2020-06-29 20:37:37 3223

原创 字典和列表的写操作

字典和列表的写操作字典和列表的写操作name = ['a','b','c']students =with open('file\student.txt','w',encoding = 'utf-8') as f: f.write(str(name))name = [{'a':'b'}, {'a':'b'}, {'a':'b'} ]with open('file\student.txt','w',encoding = 'utf-8

2020-06-29 20:37:13 86

原创 数据持久化

数据持久化写一个程序,统计这个程序启动次数a. 数据保存在文件中b. 需要数据的时候从文件中去读数据c. 当数据发生改变的时候,对保存的数据的文件进行更新注意:如果以读的方式打开一个不存在的文件,会报错,如果以写的方式打开一个不存在的文件,不会报错,会新建一个文件with open(r'.\file\a.txt',encoding='utf-8') as f: count = int(f.read()) count += 1 print(count)with open(r

2020-06-29 20:36:34 1454

原创 文件的读写操作

文件的读写操作文件的打开文件对象 = open(文件路径,文件打开方式,encoding = 文本编码方式)操作文件对象文件对象.close()with open(文件路径,文件打开方式,encoding = 文本编码方式) as 文件对象:操作文件对象方法一:f = open(r'.\file\text.txt',encoding = 'utf-8')print(f.read())f.close()print(f.read()) # ValueError: I/O op

2020-06-29 20:36:10 125

原创 文件操作

文件操作计算机数据的存储计算机的存储系统分为 运行内存和硬盘 两种:运行内存:用来保存程序运行过程中产生的数据,程序运行结束后会自动销毁硬盘:是用来保存文件的,保存在文件中的数据就是保存在硬盘中的,除非手动删除,否则硬盘里的数据会一直在数据持久化就是将数据以各种形式保存到硬盘中(保存在本地文件中)文件操作文件操作基本步骤:打开文件 -> 操作文件(读,写)-> 关闭文件open(file, mode=‘r’, buffering=None, encodi

2020-06-29 20:35:30 179

原创 导入模块的原理

导入模块的原理使用模块的原理当使用import或者from-import导入模块的时候,系统会自动将所有被导入模块中的代码执行一遍import test1import test1说说import和include的取别import导入一次就会自动检查,是否之前导入过,如果导入过,就不会再导入include重复几次,就会导入几次循环导入的问题import testimport test1from test2 import factorial怎么选择性的执行被导入的内容

2020-06-29 20:33:12 198

原创 模块

模块什么是模块一个模块就是一个py文件,py文件的文件名就是模块名2. ##### 在一个模块中使用另外一个模块的内容1)那些能用:所有在指定if语句外的全局变量2)怎么使用:需要先导入模块模块名要求:只能是字母数字下划线命名的py文件第一种:from 模块名 import 变量1… - 导入后能使用指定变量,没有导入的变量不能使用from 模块名 import * - 导入后可以使用所有的全局变量;直接使用变量(不推荐使用)from test import aprint(a)

2020-06-29 20:32:51 77

原创 生成式

生成式:生成式就是生成器的简写列表推导式的[]变成()就变成了生成式list1 = [i*2 for i in range(5)]print(list1)gen1 = (i*2 for i in range(5))print(gen1)print(next(gen1))gen1 = (i*2 for i in range(5))相当于def func(): for i in range(5): yield i*2gen2 = func()...

2020-06-29 20:31:57 524

原创 生成器

生成器什么是生成器生成器的本质就是迭代器2. ##### 生成器如何实现调用一个带有yield的关键字函数就可以得到生成器def func1(): print('++++') print('----') if 2 > 3: yieldresult = func1()print('result',result)生成器中的元素是怎么产生的能产生多少数据,就几次yield,就产生多少数据yield后面的数据是什么,那产生的数据就是什

2020-06-29 20:30:38 171

原创 迭代器

迭代器1.说明是迭代器(iter)迭代器就是容器型数据类型,只能通过类型转换和生成器来获得迭代器对象迭代器存储数据的特点:同时可以保存多个数据,没有办法直接查看,而是需要先将数据从迭代器中取出来,取出来后不能再放进去所有的容器都可以转换成迭代器iter1 = iter([1,2,3,4])print(iter1)iter2 = iter('abc')print(iter2)iter3 = iter({'a':1})print(iter3)2. 获取迭代器中的元素无论通过什么样的方

2020-06-29 20:29:07 2287

原创 装饰器

装饰器装饰器的作用:在不修改函数的情况下给函数添加新的功能2. ##### 什么是装饰器装饰器的本质就是一个函数(这个函数是一个实参高阶函数,也是返回值高阶函数)无参装饰器def 函数名1(函数名2): def 函数名3(*args,**kwarge) 新功能代码 返回值 = 函数名2(*args,**kwargs) return 返回值 return 函数名3说明:函数名1 - 装饰器名字,命名的时候和这个装饰器要添

2020-06-23 17:55:55 85

原创 高阶函数

高阶函数函数就是变量python中定义函数其实就是定义一个类型事function的变量,函数名就是变量名def func1(): print('函数1 ')查看变量类型:print(type(func1))修改变量的值:c = func1c()查看变量地址print(id(func1))变量可以作为序列的元素a = 200list1 = [a,10,20,30,func1,func1()]print(list1)print(list1[-2]())高阶函数

2020-06-23 17:50:14 113

原创 0622(4)

递归函数什么是递归函数在函数内调用函数本身的函数(自己调用自己)循环能做的事递归都可以做def func1(): print('函数1') func1()func1()怎么使用递归第一步:确定临界值(在临界值的位置结束函数)第二步:找关系(假设函数功能已经实现,找当次循环和上一次循环之间的关系)第三步:假设函数的功能已经实现,用f(n-1)取实现f(n)的功能写一个递归函数计算1 + 2…+ndef ff_sum(n): # 第一步,找临界值

2020-06-22 19:05:37 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除