python 基本概念整理

2023-11-07

一、简介

1、基本概念

Python 是一个高层次的结合了解释性编译性互动性面向对象脚本语言

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

2、python 特点

1、易于学习:Python 有相对较少关键字结构简单,和一个明确定义语法,学习起来更加简单。

2、易于阅读:Python 代码定义更清晰

3、易于维护:Python 的成功在于它的源代码相当容易维护的。

4、一个广泛的标准库:Python 的最大的优势之一是丰富,跨平台的,在 UNIX,Windows 和 Macintosh 兼容很好。

5、互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

6、可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

7、可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的Python程序中调用。

8、数据库:Python提供所有主要的商业数据库的接口。

9、GUI编程:Python支持GUI可以创建和移植到许多系统调用。

10、可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

3、官网

Welcome to Python.org

二、环境搭建

1、编译安装(Linux)

Python3 环境搭建 | 菜鸟教程 (runoob.com)

2、环境变量

变量名 描述
PYTHONPATH PYTHONPATH 是 Python 搜索路径,默认我们 import 的模块都会从 PYTHONPATH 里面寻找。
PYTHONSTARTUP Python 启动后,先寻找 PYTHONSTARTUP 环境变量,然后执行此变量指定的文件中的代码。
PYTHONCASEOK 加入 PYTHONCASEOK 的环境变量, 就会使 python 导入模块的时候不区分大小写.
PYTHONHOME 另一种模块搜索路径。它通常内嵌于的 PYTHONSTARTUP 或 PYTHONPATH 目录中,使得两个模块库更容易切换。

三、关键字

1、关键字查看

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>

2、关键字说明

关键字 含义
False python 中的布尔类型,与True相对
None None 是 python中特殊的数据类型 “NoneType”, None 与其他非 None 数据相比,永远返回 False
True python 中的布尔类型,与 False 相对
and 用于表达式运算,逻辑与操作
as 用于类型转换
assert 断言,用于判断变量或条件表达式的值是否为真
async 定义协程(异步操作)
await 等待协程返回(异步操作)
break 中断循环语句的执行
class 用于定义
continue 继续执行下一次循环
def 用于定义函数或方法
del 删除变量或序列的值
elif 条件语句,与if,else结合使用
else 条件语句,与if,elif结合使用,也可用于异常和循环语句
except except 包含捕获异常后的操作代码块,与try,finally结合使用
finally 用于异常语句,出现异常后,始终要执行finally,包含的代码块,与try,except结合使用
for for 循环语句
from 用于导入模块,与 import 结合使用
global 定义全局变量
if 条件语句,与else,elif结合使用
import 用于导入模块,与 from 结合使用
in 判断变量是否在序列
is 判断变量是否为某个的实例
lambda 定义匿名变量
nonlocal 用来在函数或其他作用域中使用外层(非全局)变量
not 用于表达式运算,逻辑非操作
or 用于表达式运算,逻辑或操作
pass 的类,方法,函数的占位符
raise 异常抛出操作
return 用于从函数返回计算结果
try try 包含可能会出现异常的语句,与 except,finally 结合使用
while while 的循环语句
with 简化 python 的语句
yield 定义生成器

四、数据类型

1、Number(数字)

Python3 支持 int、float、bool、complex(复数)

2、String(字符串)

字符串用单引号 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

3、List(列表)

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

4、Tupel(元组)

元组写在小括号 () 里,元素之间用逗号隔开。

5、Set(集合)

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

6、Dictionary(字典)

字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

7、总结

1、不可变数据:Number(数字)、String(字符串)、Tuple(元组)。

2、可变数据:List(列表)、Set(集合)、Dictionary(字典)。

五、运算符

1、算术运算符

以下假设变量: a=10,b=20

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分(向下取整 >>> 9//2 4 >>> -9//2 -5

2、关系运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true.
<> 不等于 - 比较两个对象是否不相等。python3 已废弃。 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

3、赋值运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

4、逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

5、位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13,二进制格式如下:

运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

6、成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

7、身份运算符

身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

8、运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

六、控制流

1、条件语句

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else:
    执行语句……

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

2、while 循环

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):
    执行语句(statements)……

循环使用 else 语句,在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

3、for 循环

for循环的语法格式如下:

for iterating_var in sequence:
   statements(s)

七、函数

1、概述

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道 Python 提供了许多内建函数,比如 print()。但你也可以自己创建函数,这被叫做用户自定义函数。

2、定义

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号**()**。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

3、函数调用

直接通过函数名进行调用。

4、参数传递

在 python 中,类型属于对象,变量是没有类型的。

python 函数的参数传递:

  • 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。如果在 fun(a) 内部修改 a 的值,则是新生成一个 a 的对象。
  • 可变类型:类似 C++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后 fun 外部的 la 也会受影响。

5、匿名函数

python 使用 lambda 来创建匿名函数。

  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块仅仅能在 lambda 表达式中封装有限的逻辑进去
  • lambda 函数拥有自己命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然 lambda 函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法如下:

lambda [arg1 [,arg2,.....argn]]:expression

6、函数返回

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

7、变量作用域

一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:

  • 全局变量:定义在函数外的拥有全局作用域。
  • 局部变量:定义在函数内部的变量拥有一个局部作用域。

八、对象

1、面向对象技术简介

  • 类(Class): 用来描述具有相同的属性方法的对象的集合。它定义了该集合中每个对象所共有属性方法。对象是类的实例。
  • 方法:类中定义的函数。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

和其它编程语言相比,Python 在尽可能不增加新的语法和语义的情况下加入了类机制。

Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。

对象可以包含任意数量和类型的数据。

2、类定义

class ClassName:
    <statement-1>
    .
    .
    .
    <statement-N>

3、类对象

类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用,像下面这样:

def __init__(self):
    self.data = []

当然, __init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化操作上。

4、类方法

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。

5、继承

派生类的定义如下所示:

class DerivedClassName(BaseClassName):
    <statement-1>
    .
    .
    .
    <statement-N>

子类(派生类 DerivedClassName)会继承父类(基类 BaseClassName)的属性方法

6、多继承

多继承的类定义形如下例:

class DerivedClassName(Base1, Base2, Base3):
    <statement-1>
    .
    .
    .
    <statement-N>

需要注意圆括号中父类的顺序,若是父类中有相同方法名,而在子类使用时未指定,python从左至右搜索即方法在子类中未找到时,从左到右查找父类中是否包含方法。

7、方法重写

如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法。

8、类属性与方法

1、类的私有属性

__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

2、类的方法

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定使用 self

3、类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。在类内部的方法中使用时self.__private_methods

4、类的专有方法:

  • __init__ : 构造函数,在生成对象时调用
  • __del__ : 析构函数,释放对象时使用
  • __repr__ : 打印,转换
  • __setitem__ : 按照索引赋值
  • __getitem__: 按照索引获取值
  • __len__: 获得长度
  • __cmp__: 比较运算
  • __call__: 函数调用
  • __add__: 加运算
  • __sub__: 减运算
  • __mul__: 乘运算
  • __truediv__: 除运算
  • __mod__: 求余运算
  • __pow__: 乘方

5、运算符重载

Python同样支持运算符重载,我们可以对类的专有方法进行重载。

九、数据结构

1、堆栈

列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。

2、队列

也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。

十、迭代器与生成器

1、迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退

迭代器有两个基本的方法:iter()next()

2、生成器

在 Python 中,使用了 yield 的函数被称为生成器(generator)。

跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

在调用生成器运行的过程中,每次遇到 yield 时函数会暂停保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

调用一个生成器函数,返回的是一个迭代器对象。

十一、模块

1、概述

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂

模块能定义函数变量,模块里也能包含可执行的代码

2、import 语句

模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

import module1[, module2[,... moduleN]]

比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用:

模块名.函数名

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

特别说明:一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。

3、from…import 语句

Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:

from modname import name1[, name2[, ... nameN]]

例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:

from fib import fibonacci

这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。

4、from…import* 语句

把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

from modname import *

这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

例如我们想一次性引入 math 模块中所有的东西,语句如下:

from math import *

5、搜索路径

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

十二、包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

十三、库

具有相关功能模块、包的集合。库主要方便管理模块和包。

十四、框架

实现某一功能,相互配合的一系列库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 基本概念整理 的相关文章

随机推荐

  • 路径搜索问题

    之前碰到的很多问题都可以归结为路径搜索问题 就是求两点之间的路经 1 是否存在路径 2 求任意一条路径 3 求所有路径 求是否有路径和任意一条路径的时候 和正常遍历一样 一个点被mark之后不再访问 因为如果这个结点到终点有路径 之前就应该
  • Word里如何打出带有上下横杠的大写字母i

    换成新罗马就行了
  • Linux系统中关于/etc/rc.d/rc.local中部分命令不执行的问题

    最近遇到了个奇怪的问题 费了一番周折才最终解决 在此给遇到类似问题的同学提供一条思路 在Linux系统中我们有可能需要某些命令在系统启动的时候自动运行 此时我们会想到利用文件 etc rc d rc local 按照正常逻辑 只需要将相应的
  • 通过关键字从百度中爬取相匹配图片,可以爬取多种也可以爬取一种图片

    通过re requests urlib BeautifulSoup os模块实现从百度下载指定类别图片 包含代码逐行解析 import re 进行http请求的第三方库 import requests from urllib import
  • STM32F103屏蔽JTAG/SWD 以及PC13,PC14,PC15的RTC晶振禁用。

    STM32F103屏蔽JTAG SWD 以及PC13 PC14 PC15的RTC晶振禁用 1 关于JTAG SWD屏蔽 2 PC13 PC14 PC15的RTC晶振屏蔽 1 关于JTAG SWD屏蔽 STM32F103系列上的一些IO口在标
  • 免费获取省市县的shp,geojson文件

    整理下资料 需要做准备工作 1 一个全能地图下载 https blog csdn net qq 41619796 article details 90241491 可以获取边界坐标 2 获取文件的网站 http geojson io 3 G
  • Python爬虫实战——爬取新闻数据(简单的深度爬虫)

    前言 又到了爬新闻的环节 好像学爬虫都要去爬爬新闻 没办法谁让新闻一般都很好爬呢XD 拿来练练手 只作为技术分享 这一次要的数据是分在了两个界面 所以试一下深度爬虫 不过是很简单的 数据目标 相关库 import openpyxl impo
  • 本地python连接腾讯云数据库

    文章目录 前言 免费体验一个云数据库 申请云数据库 开通外网 设置用户账号 开通外网 设置账号密码 创建数据库 用python连接数据库 前言 简单说下云数据库的概念 云的概念其实就是把网络上的服务虚拟话 比如说没有云的时候 搭建数据库 得
  • 查看僵尸进程并杀掉僵尸进程

    在运维过程中 我们经常会碰到机器由于某几个特殊的僵尸进程造成整台服务器上的进程异常卡死 负载变高 例如以下 其中 存在8个僵尸进程 并且进程19712的CPU使用异常 查看具体的僵尸进程有哪些 发现这些子僵尸进程的父进程即为19712进程
  • ASP.NET WebFrom 使用C# 连接 MySql

    内容 对于ASP NET WebFrom连接SQL database的方法网络上有很多大牛都有介绍 本文介绍一种ASP NET WebForm连接MySql database的方法 材料 Visual Studio 2017 MySql最新
  • 华为2288hv5服务器安装ESXI 6.7(一):远程访问服务器管理口

    文章目录 准备条件 实际操作 1 修改本地网卡信息 2 访问网页管理页面 3 修改管理口IP信息 4 通过Wifi登录管理页面 下一步 不管是网络设备也好 或者服务器也罢 从投入使用到寿终正寝 机房都是它们的归宿所在 但是我们不一样 机房常
  • 虎年啦,小老虎一文带你解决困扰多年Linux命令下的vim,中国人不骗中国人,好好学,工作必备,牢记

    初学者来说 先把最简单 最基础 最重要的知识点掌握好 再去研究难度较高 更加高级的知识点 这样由易到难 循序渐进的学习路径 无疑是最合理的 vi和vim是Linux下的一个文本编辑工具 可以理解为Windows的记事本 或Word文档 1
  • Win10系统下python快速安装点云库pclpy-0.11.0

    目录 一 安装Anaconda3 二 pclpy概述 三 安装pclpy 四 测试代码 五 结果展示 六 进入pclpy11环境 七 实验数据 一 安装Anaconda3 见 Anaconda详细安装及使用教程 带图文 二 pclpy概述
  • 为什么jdbc连接一个异常的源,会出现请求失败的结果

    测试1 使用jdbc mysql 1 1 3306 test 这样ip错误的url路径 jdbc会直接抛出异常 测试2 使用jdbc mysql 1 1 1 1 3306 test 这样看似正确的url路径 实际是请求不同的的ip时 请求会
  • Lan8720 网线插拔状态检测

    目的 能够实时的检测网线的插拔状态 并能够根据网线的插拔状态通知到到应用层 让应用层做相应的处理 1 解决问题的根本方法就是看lan8720的数据手册 如果说你用过一款芯片 而没有去研究过它的数据手册时 可以说你没有用过这个芯片 在Lan8
  • 条款20:当std::shared_ptr可能悬空时使用std::weak_ptr

    自相矛盾的是 如果有一个像std shared ptr 见条款19 的但是不参与资源所有权共享的指针是很方便的 换句话说 是一个类似std shared ptr但不影响对象引用计数的指针 这种类型的智能指针必须要解决一个std shared
  • 《算法:第四版》课后练习 1.1 答案

    以下答案纯属个人愚见 作为IT新手 算法代码中难免有逻辑漏洞和其他不足之处 欢迎朋友你点评拍砖 交流争辩能极大开阔思维 愿一起加油进步 1 1 19 在计算机上运行以下程序 1 public class Fibonacci 2 3 publ
  • springboot集成RedisTemplate

    RedisTemplate使用 基本信息 Maven依赖 yml配置文件 redisConfig配置类 Redis操作string Redis操作list 基本信息 spring 封装了 RedisTemplate 对象来进行对redis的
  • c语言间接级别不同_间接寻址不同问题?求解决!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 错误18error C2040 FineStu Student int 与 int 的间接寻址级别不同e vs study study study c1441Study include incl
  • python 基本概念整理

    一 简介 1 基本概念 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 Python 的设计具有很强的可读性 相比其他语言经常使用英文关键字 其他语言的一些标点符号 它具有比其他语言更有特色语法结构 Pytho