盒子模型
盒子模型知识点背景页面中的元素都是一个个方块组成,我们将其称之为盒子模型,设置对应的样式分别为:盒子的宽度(width)、盒子的高度(height)、盒子的边框(border)、盒子内的内容和边框之间的间距(padding)、盒子与盒子之间的间距(margin)
内容1234567891011121314151617181920212223/* 设置宽高 */width:200px; /* 设置盒子的宽度,此宽度是指盒子内容的宽度,不是盒子整体宽度(难点) */ height:200px; /* 设置盒子的高度,此高度是指盒子内容的高度,不是盒子整体高度(难点) *//* 设置边框 */border-top-color:red; /* 设置顶部边框颜色为红色 */ border-top-width:10px; /* 设置顶部边框粗细为10px */ border-top-style:solid; /* 设置顶部边框的线性为实线,常用的有:solid(实线) dashed(虚线) dotted(点线); */border-top:10px solid red; ...
信息查询
文件&目录终端使用技巧1234# 调用历史命令↑/↓# 取消使用当前的命令Ctrl + c
查看目录1234567891011121314# 查看当前目录下文件ls# 常用选项,ubuntu中默认文件以白色显示,文件夹以蓝色显示-a: 显示指定目录下所有子目录和文件,包括隐藏文件-l:以列表形式显示文件详细信息-h:配合-l以人性化方式显示文件大小# ls通配符.:代表?:代表任意一个字符,但是只能代表一个[]: 可以匹配字符组中的任意一个[abc]:匹配a,b,c中的任意一个[a-f]:匹配a-f范围内的任意一个字符
切换目录123456789# 切换至当前用户的Home目录cdcd~# 保持在当前目录不变cd .# 切换至当前目录的上一级目录cd ..# 在最近的两次目录中进行切换cd -
作业题
创建以下文件及文件夹
文件:1.txt,12.txt,212.txt
文件夹:吴翔,212,343
尝试调用前一次执行的命令,然后取消执行当前的命令。
打印出当前文件夹下所有的文件信息(不包括隐藏文件)
打印出当前文件夹下所有的文件信息(包括隐藏文件)
按列表形式打 ...
私有化、继承、多态
私有化、继承、多态知识点私有化
xx:公有变量
_x:单前置下划线,用于定义私有化属性或方法,当在其它模块通过from xxx import *时是无法导入的,但是可以通过子类和类对象进行访问,也可以通过导入具体的变量名进行访问
1234567# 导入具体的变量名from Demo1 import _a# 在子类中也可直接访问class Test2(Test1): def func(self): print(self._a)
__xx:双前置下划线,用于定义私有化属性或方法,成员之间无法进行访问,同时子类也无法访问。但是可以通过【对象名._类名__私有对象名】进行访问
__xx__:双前后下划线,python内置的魔法对象或属性。自已不要发明这类名字
xx_:单后置下划线,为了避免自己定义的变量名与系统的关键字冲突
import导入模块导入顺序12345678910# 检查模块的导入顺序import sysprint(sys.path) # sys模块中有一个path方法会打印出导入模块时的顺序# 通过sys.path.append(路径)可以向系统中 ...
类中属性和Property
类中属性和property知识点类对象/属性、实例对象/属性
实例化过程:
当通过类名(a)实例化一个对象的时候,此时会调用类中__new__方法开辟一个独立的空间并返回该空间的引用(对象b),然后将该引用传递给 __init__方法,__init__方法会在新开辟的空间中初始化属性信息(变量),而对象a所拥有的各类方法则可以通过__class__方法直接寻找到类对象中的方法。
调用方式:
实例对象:可以调用实例属性、实例方法、类属性、类方法、静态方法
类对象:可以调用类对象、类属性、静态方法
实例对象调用类属性的方式:实例对象名.__class__.类属性名
property属性
定义和调用
方法1:通过添加修饰符
定义时,在实例方法的基础上添加**@property装饰器**,并且仅有一个self参数。调用时,无需加括号
设置property属性赋值时,使用xx.setter装饰器
设置property属性删除时,使用xx.deleter装饰器
12345678910111213141516171819202122class Test(object): d ...
类成员相关
类成员相关知识点实例化12# 程序在实例化的时候,都会创建一个自己独立的内存空间,用于保存各自不同的属性# 同一个类下实例化的不同对象,他们的方法在内存中却只有一份,只有需要时才将对象的引用传递到方法的内部
类对象、属性12# python程序在运行时也会直接将类加载到内存中,只是类对象在内存中只有一份,使用一个类可以创建多个实例对象# 类对象同时有自己的属性(类属性)、方法(类方法),可以通过"类名.属性/方法"进行访问
使用
12345678910111213# 类属性是给类对象中定义的属性,常用来记录这个类相关的特征,类属性不会用来记录具体对象的特征# 定义方式:属性名 = 属性值 (在类下方直接定义)# 使用方式:类名.类属性名 class Tool(object): # 使用赋值语句定义类属性,记录被调用的次数 count = 0 def __init__(self): Tool.count += 1 # 每次使用类实例化一个对象都会自动+1,并且该变量值存放在内存中的类对象中 tool ...
系统信息
系统信息时间和日期date:查看系统的时间1date
cal:查看日历123# -y:可以查看当前一年的日历# 默认展示的是当前一个月的日历cal [-y]
磁盘管理df:显示磁盘剩余空间12# -h:以人性化的方式显示磁盘剩余空间df -h
du:显示目录下文件大小1du -h [目录名]
进程管理进程:当前执行的一个程序
ps:查看进程的详细情况1234# a:查看终端上所有进程,包括其它用户的进程,默认只显示当前用户通过终端启动的应用程序# u:显示进程的详细状态# x:显示没有控制端的进程ps [aux]
top:动态显示运行中的进程并且排序12# 退出top可以直接输入qtop
kill:终止指定代号的进程1kill [-9] 进程代号
作业
打印服务器当前的时间
打印出服务器当前一个月的日历信息
打印出服务器当前一年的日历信息
打印出磁盘的剩余空间情况,并详细描述一下打印出的信息内容
打印出当前目录下各个文件的大小,并详细描述一下各个文件的大小
打印出当前用户通过终端运行的进程信息
打印出当前服务器运行的所有进程的信息,包括所有用户的
动态显示当前服务器运行的 ...
组管理命令
组管理知识点注意:以下命令均需在sudo状态下执行
groupadd:添加组12cat /etc/groupsudo groupadd 组名
groupdel:删除组1sudo groupdel 组名
chgrp:修改文件/目录所属组123# -R:递归修改文件/目录所属于的组chgrp 组名 文件/目录名chgrp -R 组名 文件/目录名
123# 组信息保存在/etc/group文件中# /etc是专门用来保存系统配置信息的目录# 实际开发中,先对组设置好权限,然后将不同的用户添加到对应的组去,从而不用依次对每一个用户设置权限
作业
新建一个组为”test”
在”please”目录下创建一个新的目录”wuxiang”,然后修改“wuxiang“所属的组为”test”
再将”wuxiang”文件夹所属的组修改回”please”
删除组test
继承和重写
继承和重写知识点单继承定义123# 子类继承父类、父类的祖先类所有的方法和属性class 类名(父类名称): 类体
多继承定义1234# 多继承的子类继承了所有父类的方法和属性# 继承的父类之间尽量不要有相同名称的方法和属性class 类名(父类1, 父类2, 父类3, ... ): 类体
1# 若继承的父类中有相同名称的方法和属性,在未调整顺序之前,优先调用先继承的父类中指定的方法
方法搜索顺序:__mro__123# (知道)__mro__:是python的内置属性,用于在多继承时判断方法、属性的调用路径print(类名.__mro__)# __mro__按照打印内容从左到右顺序查找,先在当前类中查找,然后再按顺序依次到下一个类中查找,找到即执行,不再找下去,如果找完所有的类都没有寻找到方法就报错
方法的重写(多态)备注:当父类的方法无法满足子类的需求时,并且两者实现的方式完全不同,则需要在子类中重写父类的方法
1# 定义方式:定义一个与父类中被重写的方法同名的方法即可
方法的拓展备注:当父类的方法无法满足子类的需求时,父类封装的方法是子类方法的一部分,此时需 ...