基础语法相关 1.if条件判断 if 条件: # 事情1else: # 事情2 当你需要判断的时候. 就去写if. 举例, 在写爬虫的时候. 我们会遇到这样的两种情况 情况一, 数据里有一些我们并不需要的内容 data = "10,英雄本色,1500万" # 正常你需要的数据data = "11,-,-"
一.变量 1.什么是变量? 变量:即变化的量;用于描述事物的变化状态;如人的年龄、游戏的等级等。 常量:即不变的量;用于描述事物的固定状态;如人的姓名、圆周率等 2.为什么要有变量 为了让计算机能够像人一样去记忆事物的某种状态,并且状态时可以发生变化的。 3.怎么使用变量 # 原则:先定义
一、封装 1.封装的概念: java中封装的实质就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 封装的好处:封装的好处在于隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据。 2.封装的步骤:
一、SpringBoot的属性注入解释:( @Value / @ConfigurationProperties ) 1.1):使用SpringBoot全局配置文件设置属性时: 如果配置属性是Spring Boot已有属性,例如服务端口server.port,那么Spring Boot内部会自动扫描并 读取这些配置文件中的属性值并覆盖默认属性。 如果配置
面向对象 什么是面向对象 面向对象编程(Object-Oriented Programming,OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象的形式组织封装数据。 三大特性: 封装 继承 多态 构造器 和类名相同 没有返回值 作用: new 本质在调用构造器 初始化对象的值 注
--- - hosts: serverf vars: persons: user1: name: demon age: 12 user2: name: student age: 20 tasks: - name: print message debug: msg: | {% for item in persons: -%}
只能操作一个值的操作符叫做一元操作符。 递增和递减操作符 递增和递减操作符有前置型和后置型两个版本。从字面上看就识货,前置型应该位于要操作的变量之前。而后置型就是位于要操作的变量之后。如下例子: var age = 24; ++age; // 25 等同于 var age = 24; age = age + 1;
1、下载解压安装 wget https://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.10/denyhosts-2.10.zip unzip denyhosts-2.10.zip cd denyhosts-2.10 python setup.py install 2、修改配置 cat /etc/denyhosts.conf |grep -v "^#" |grep -v "^$"
假设以下场景:你需要从对象中提取值,但你又想将一个变量赋给该对象的整体。该怎么做呢?我们来对前文中匹配Person 类的属性的实例做以下修改。 1 case class Address(street: String, city: String, country: String) 2 case class Person(name: String, age: Int, addres
面向对象和面向过程 类的组成 类属性 类中方法外的变量称为类属性,被该类的所有对象共享 Student.cm() #访问类属性 实例方法 静态方法 使用@staticmethod修饰的方法,使用类名直接访问的方法,Student.sm() #调用静态方法 类方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # author:Sun # datetime:2022/7/26 0026 """ 动态语言允许我们在程序运行时给对象绑定新的属性或方法, 当然也可以对已经绑定的属性和方法进行解绑定。 但是如果我们需要限定自定义类型的对象只能绑定某些属性, 可以通过在类中定义__
</!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <script src="./lib/vue-2.4.0.js"></script> <script src="./lib/axios.min.j
一、props规范化 1.1概念:规范化只是格式上的规范化,确保我们的props是一个对象,对象的key的value又是一个对象; 1.2流程: 规范化主要发生在这几个流程中: <script> const A = { name:'A', props:['name','nick-name'], template:` <div id=
#include <iostream> #include <vector> #include <algorithm> using namespace std; class Person { public: Person(string name, int age): name(name), age(age) {} bool operator==(const Person &p) { return p.age ==
#include <iostream> #include <vector> #include <algorithm> using namespace std; class Person { public: Person(string name, int age): name(name), age(age) {} string name; int age; }; class Print { public: void oper
MySQL客户端工具的使用 1、MySQL程序的组成 客户端 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_installation:安全初始化,强烈建议安装完以后执行此命令 mysqldump:mysql备份工具 mysqladmin:官方提供的shell命令行工具 服务
day9 竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。 教主之位 前天只是初步了解面向对象这种思想,今天将要对于面向对象进行更深入的阐释,毕竟面向对象的教主之位可没有那么好拿的。 @property装饰器 该问题是对前面python属性和方法访问权限的延申,毕竟虽然一般不将属性设置为私有,但是如果
this指针指向被调用的成员函数所属的对象。 this指针是隐含在每一个非静态成员函数内的一种指针。 this指针不需要定义,直接使用。 this指针的用途: 1.当形参和成员变量同名时,可用this指针来区分(最好在命名时避免)。 2.在类的非静态成员函数中返回对象本身,可使用return *this
对于拓展运算符是深拷贝还是浅拷贝网上怎么说的都有,我就说一下我的理解。 什么是深拷贝?什么事浅拷贝? 假如B复制了A,修改A的时候,看B是否发生变化: 如果B也跟着变了,说明是浅拷贝,拿别人手段! 如果B没有改变,说明是深拷贝,自食其力! 怎么判断拓展运算符是什么拷贝呢? 看一下下面的例子: let
Vue3 Pinia使用 在学习 Vue2 的宝子们一定都知道,在 vue2 版本中,如果想要使用状态管理器,那么一定是集成 Vuex,首先说明一点,Vuex 在 vue3 项目中依旧是可以正常使用的,是 vue 项目的正规军。但是,今天我们学习一下小菠萝,Pinia 目前也已经是 vue 官方正式的状态库。适用于 vue2 和 vue3
abstaract关键字【抽象类】 1、概念: 不能实例化(创建对象)的类就是抽象类,用abstract修饰 2、构成: abstract class 类名{ 成员变量 构造方法 成员方法 非抽象方法 抽象方法 } 3、要求: (1)抽象类和抽象方法必须用关键字abstract修饰 (2)抽象类中不一定有抽象方法,但是有
今天继续进行Python的学习,上次学到了输出输入,今天继续总结了一下,Python在3.6以上的版本就开始支持f-string,占位统一用{},然后在{}里填入输出的值或者变量名即可,如下所示: name = '刘海涛' age = 19 print(f"我的名字是{name},年龄是{age}") print()函数添加之后,会默认有一个
SpringBoot 是基于 Spring 的简化配置方案,不是对 Spring 技术的升级,本质上是提供了一种快速使用 Spring 的开发方式。 SpringBoot 基于约定优于配置的思想,提供了大量的起步依赖,能够让开发人员快速搭建 Spring 项目,减少在配置与业务之间的思维切换,从而可以全身心的投入到逻辑业务的
对象的独有功能 针对对象独有的方法,我们无法实现(当我们将函数定义在全局时,不满足对象独有的;当我们定义在类中的时,是类中公共的方法)。python解释器针对这个问题添加了一个特性:定义在类中的函数默认是绑定给对象的(相当于是对象独有的方法) class Student: school = '清华大学'
在 TS 中,关于对象属性的类型约束,会比较繁琐,例如: const student: { name: string, age: number, gender: string } = { name: '张三', age: 20, gender: '男' }; const teacher: { name: string, age: number, gender: string } = { name: '李四', age: 30, gender: