就业班 第二阶段(python) 2401--4.2 day1 python初识

news2024/11/26 8:49:52

一、Python 语言介绍1、Python 发展历史2、Python 简介3、Python 特点4、Python 的能力二、Linux 编译安装Python31、源码安装1、安装依赖软件包2、下载3、解压安装4、配置共享库文件5、测试python36、测试 pip32、 配置使用国内源安装第三方模块1、创建配置文件补充内容四、变量1、变量的声明2、变量命名规则3、变量命名潜规则4、变量赋值5、Python 中的变量是什么6、变量的多元赋值7、Python 中对象(变量的值)都有三个特性五、运算符1、算数运算2、比较运算3、赋值运算4、逻辑运算5、成员运算六、流程控制语句1、判断2、嵌套3、循环4、迭代6、作业

一、Python 语言介绍

1、Python 发展历史

Python 是由 Guido van Rossum (吉多·范罗苏姆)在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python 本身也是由诸多其他语言发展而来的,这包括 ABC、lisp、perl、C、C++、Unix shell 和其他的脚本语言等等。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。现在 Python 是由一个核心开发团队在维护,Guido van Rossum(吉多·范罗苏姆) 仍然占据着至关重要的作用,指导其进展。

2、Python 简介

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

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

3、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++程序,让你的程序的用户获得"脚本化"的能力。

4、Python 的能力

2019年最新的TIOBE排行榜显示,Python 仅次于 C 排行在第三位。

编程语言TIOBE排行榜

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

二、Linux 编译安装Python3

1、源码安装

1、安装依赖软件包
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel  sqlite-devel readline-devel libffi-devel # python3.7版本安装

前提条件是:你的系统已经安装了开发工具包。

2、下载
curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
// 或者
wget  https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
3、解压安装
tar -xf Python-3.6.5.tgz
cd Python-3.6.5/

进入目录后,执行下面的命令

修改文件 Python-3.6.5/Modules/Setup.dist, 去掉如下几行的注释 :

readline readline.c -lreadline -ltermcap
​
SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

或者在 shell 命令提示符下执行如下命令:

sed -ri 's/^#readline/readline/' Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-L\$\(SSL\))/\1/' Modules/Setup.dist

开始编译安装

./configure --enable-shared --prefix=/usr/local/python3
make -j 2 && make install

--enable-shared 指定安装共享库,共享库在使用其他需调用python的软件时会用到,比如使用mod_wgsi 连接Apache与python时需要。

4、配置共享库文件

为所有用户设置共享库目录

用 vim 编辑器打开配置文件 /etc/profile.d/python3.sh

vim /etc/profile.d/python3.sh

在文件末尾写上如下内容:

# python3.6 共享库目录
export PATH=$PATH:/usr/local/python3/bin

编辑文件 /etc/ld.so.conf.d/python3.conf,并且添加如下内容:

/usr/local/python3/lib

保存退出文件后, 执行如下命令 加载配置信息使其生效

ldconfig

执行如下命令,使环境变量生效

source /etc/profile.d/python3.sh
5、测试python3
$ python3
Python 3.6.3 (default, Dec 17 2017, 04:11:01)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('qf')
qf
>>> exit()

输入 exit() 即可退出 python3

6、测试 pip3

一般情况下你不需要执行下面的安装命令。

[root@newrain ~]# pip3 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

假如上面显示的含有 python3.6 就没问题了,说名 pip3 安装的模块会安装到上面显示的目录下

2、 配置使用国内源安装第三方模块

1、创建配置文件

配置 pip3 使用国内源

mkdir ~/.pip
vi ~/.pip/pip.conf
# Windows 下使用 pip.ini
(1):在windows文件管理器中,输入 %APPDATA%
(2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件

写入如下内容:

[global]
timeout = 6000
index-url=https://mirrors.aliyun.com/pypi/simple

豆瓣源: https://pypi.douban.com/simple/

阿里源: https://mirrors.aliyun.com/pypi/simple

清华: https://pypi.tuna.tsinghua.edu.cn/simple

阿里云: http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学: http://pypi.hustunique.com/

山东理工大学: http://pypi.sdutlinux.org/

补充内容

一,我们操作代码的方式 终端  文件 终端 字符串需要用引号

文件 文件名以.py结尾 解释器申明 终端执行文件

输入命令的执行流程 属于代码-->解释器--->语法词法分析

在 /root 目录下创建 hello.py 文件,内容如下:

print("hello,world")

执行 hello.py 文件,即: python /root/hello.py

二、解释器

上一步中执行 python3 /root/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。

如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py,那么就需要在 hello.py 文件的头部指定解释器,如下:

#!/usr/bin/env python3
print("hello,world")

如此一来,执行: ./hello.py 即可。

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

#!/usr/bin/env python3 
print("hello,世界")

三、内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
​
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
​
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode 
​
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
​
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
​
所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
​
报错:ascii码无法表示中文

四、注释

  • Shell 注释方法:

    • 单行注释: # 被注释内容

    • 多行注释: <<! 备注释内容 !

  • Python 注释方法

    • 单行注释:# 被注释内容

    • 多行注释:""" 被注释内容 """

五、执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块

  • 业内开源的模块

  • 程序员自己开发的模块(温馨提示,python的模块可以是c语言等)

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)

六、输入

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 将用户输入的内容赋值给 name 变量
name = input("请输入用户名:")
# 打印输入的内容
print(name)

四、变量

1、变量的声明

python语言是动态语言

  • 变量不需要事先声明

  • 变量的类型不需要声明

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的 类型是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是其指向的具体的值。

 

2、变量命名规则

可以包含以下字符

  • 大小写字母(a-z,A-Z)

  • 变量名区分大小写; a 和 A 是不同的变量

  • 数字(0-9)

  • 下划线(_) 不可以以数字开头

3、变量命名潜规则

  • 不要以单下划线和双下划线开头;如:_user或 __user

  • 变量命名要易读;如:user_name,而不是username

  • 不用使用标准库中(内置)的模块名或者第三方的模块名

  • 不要用这些 Python 内置的关键字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
​
> 上面打印出来的数据在 Python 中被称为列表, 列表是 Python中一种数据结构。关于数据结构,后面的章节会详细说明。
>列表的都是 Python3 中的关键字。
​
#可以使用一下方法验证,返回 True 就是 Python 的关键字
>>> keyword.iskeyword('del')
True
>>>

4、变量赋值

python 中使用等号 = 对变量进行赋值,。

等号左边被称为变量名,等号右边称为变量的值,确切的说是对象

n = 5

5、Python 中的变量是什么

在 python 中究竟该如何正确理解变量的赋值过程呢?

s = 'hello'

以上的变量赋值,应该说成把变量分配给对象更合理。

hello 这个字符串对象会在内存中先被创建,之后再把变量名 s 分配给这个对象。

所以要理解 Python 中的变量赋值,应该始终先看等号右边。

对象是在右边先被创建或者被获取,在此之后左边的变量名才会被绑定到对象上,这就像为对象贴上了标签。

变量名本质上是对象的标签或者说是对象的名字,当然一个对象可以有多个标签或者名字。 比如: 张三 和 小张 指的都是同一个人

请看下面的代码示例:

a = 1
b = a
a = 2
print(b)  # b 会是 ?

a = 1 时如下图:

b = a 时如下图:

a = 2 时如下图:

上面的 b = a 我们称它为 传递引用,此时对象会拥有两个名称(标签) ,分别是 ab

6、变量的多元赋值

在 Python3 中你可以这样给变量赋值

In [2]: x, y, z = 1, 2, 3
​
In [3]: x
Out[3]: 1
​
In [4]: y
Out[4]: 2
​
In [5]: z
Out[5]: 3

当然也可以这样

In [10]: a, b, c = 'abc'
​
In [11]: a
Out[11]: 'a'
​
In [12]: b
Out[12]: 'b'
​
In [13]: c
Out[13]: 'c'

假如你需要对一个序列类型中的数据进行一一解开赋值,那就需要等号左边的变量名和序列类型数据中的元素个数相同。

这种多元赋值方式在 Python 中也可以称为元组解包。

7、Python 中对象(变量的值)都有三个特性

# 唯一标识,是对象在内存中的整数表示形式,在 CPython 中可以理解为# 内存地址
# 可以用 id 这个函数查看 
id(10)    # 直接给一个对象
id(n)      # 给你变量名
# 类型, 对象都有不同的类型,用 type 这个函数查看
type(10)
type(n)
# 值,对象本身
10

五、运算符

1、算数运算

#!/usr/bin/python3
 
a = 21
b = 10
c = 0
 
c = a + b
print ("c 的值为:", c)
 
c = a - b
print ("c 的值为:", c)
 
c = a * b
print ("c 的值为:", c)
 
c = a / b
print ("c 的值为:", c)
 
c = a % b
print ("c 的值为:", c)
​
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print ("c 的值为:", c)
 
a = 10
b = 5
c = a//b 
print ("c 的值为:", c)  去掉小数部分,不是四舍五入
c 的值为: 31
c 的值为: 11
c 的值为: 210
c 的值为: 2.1
c 的值为: 1
c 的值为: 8
c 的值为: 2

2、比较运算

运算符描述实例
==等于-比较对象是否相等(a == b) 返回 False。
!=不等于-比较两个对象是否不相等(a != b) 返回 true。
<>不等于-比较两个对象是否不相等(a <> b) 返回 true。这个运算符类似 !=。已废弃
>大于-返回x是否大于y(a > b) 返回 False。
<小于-返回x是否小于y。(a < b) 返回 true。
>=大于等于-返回x是否大于等于y(a >= b) 返回 False。
<=小于等于-返回x是否小于等于y(a <= b) 返回 true。

3、赋值运算

运算符描述例子
=简单赋值运算符c = a + b
+=加法赋值运算符c += a
-=减法赋值运算符c -= a
*=乘法赋值运算符c *= a
/=除法赋值运算符c /= a
%=取模赋值运算符c %= a

请注意,这只是一个基于图片信息的简化

#!/usr/bin/python3
a = 21
b = 10
c = 0
 
if ( a == b ):
   print ("a 等于 b")
else:
   print ("a 不等于 b")
 
if ( a != b ):
   print ("a 不等于 b")
else:
   print ("a 等于 b")
 
if ( a < b ):
   print ("a 小于 b")
else:
   print ("a 大于等于 b")
 
if ( a > b ):
   print ("a 大于 b")
else:
   print ("小于等于 b")
 
# 修改变量 a 和 b 的值
a = 5;
b = 20;
if ( a <= b ):
   print ("a 小于等于 b")
else:
   print ("a 大于  b")
 
if ( b >= a ):
   print ("b 大于等于 a")
else:
   print ("b 小于 a")
1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b
5 - a 小于等于 b
6 - b 大于等于 a

4、逻辑运算

#!/usr/bin/python3
 
a = 10
b = 20
​
if ( a and b ):
   print ("变量 a 和 b 都为 true")
else:
   print ("变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("变量 a 和 b 都不为 true")
​
# 修改变量 a 的值
a = 0
if ( a and b ):
   print ("变量 a 和 b 都为 true")
else:
   print ("变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("变量 a 和 b 都不为 true")
 
if not( a and b ):
   print ("变量 a 和 b 都为 false,或其中一个变量为 false")
else:
   print ("变量 a 和 b 都为 true")
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false

5、成员运算

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

#!/usr/bin/python3
 
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
 
if ( a in list ):
   print ("变量 a 在给定的列表中 list 中")
else:
   print ("变量 a 不在给定的列表中 list 中")
 
if ( b not in list ):
   print ("变量 b 不在给定的列表中 list 中")
else:
   print ("变量 b 在给定的列表中 list 中")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("变量 a 在给定的列表中 list 中")
else:
   print ("变量 a 不在给定的列表中 list 中")
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中

六、流程控制语句

1、判断

基本的语法格式:

#if 条件语句:   # 注意这里必须以英文的冒号结束
#    条件语句为真时,执行的语句
n = input("输入数字>>:")
n = int(n)    # input 接收到的数据,都是字符串类型
if n == 5:
    print('相等')
n = input("输入数字>>:")
n = int(n)
if n == 5:
    print('相等')
else:               # else 后边必须有英文的冒号
    print('No')
    
#_*_ coding:utf-8 _*_
n = input("输入数字>>:")
# 必须输入数字来测试
if not n:           # 如果为空
    print("空值")    # 输出 空值
else:    #否则
    n = int(n)       # n 转化为整型
    if n == 5:       # 如果等于5
        print('ok')    # 输出ok
    elif n > 5:        # 如果 大于5
        print('大了')  # 输出大了
    else:               # 否则
        print('小了')   #输出小了

2、嵌套

n = input("输入数字>>:")
if n.isdigit():
    f_n = int(n)
    if f_n == 5:
        print('ok')
    elif f_n > 5:
        print('大了')
    else:
        print('小了')
else:
    print('请输入数字')

3、循环

while True:
    n = input("输入数字>>:")
    n = int(n)
    if n == 5:
        print('相等')
        break
    elif n > 5:
        print('大了')
    else:
        print('小了')

4、迭代

  • 什么是迭代

     迭代 是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。

     每一次对过程的重复被称为一次“迭代”。

  • for 循环(英语:for loop)

   是一种编程语言的迭代陈述,能够让程式码反复的执行。

   它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器。

   这使得for循环能够知道在迭代过程中的执行顺序,记住上次被循环元素的位置。

for i in 'hello world':
    print(i)

range(n)

产生一个可被循环的整数序列,默认序列的元素从 零 开始

产生的元素数量是 n  个

for i in range(5):
    print(i)

break 和 continue

for i in range(0, 10):
    print(i)
    if i < 3:
        inp_num = int(input(">>:").strip())
        # inp_num = int(inp_num)
        if inp_num == 15:
            print('You get it')
            break
        elif inp_num > 15:
            print("高了")
        else:
            print("低了")
    else:
        print("Game over")
        break
for i in range(2, 10, 2):
    print("循环到", i)
    if i == 4:
        continue
    print(i)
    if i == 6:
        break

6、作业

1、使用while循环输出 1 2 3 4 5 6     8 9 10

2、求1-100的所有数的和

3、输出 1-100 内的所有奇数

4、求1-2+3-4+5 ... 99的所有数的和

5、用户登陆(三次机会重试)

6、打印九九乘法表 shell python

扩展

windows

linux

yum安装的直接使用

然后更换源

cd

vim .pip/pip.conf

[global]

index-url = Simple Index

[install]

trusted-host=mirrors.aliyun.com

就可以使用pip了

编译安装会出现三个问题

在linux中本身就有python2,但是各个版本不兼容,所以这里下载的是python3

问题一

原因

解决方法

在里面写lib的绝对路径

然后ldconfig执行一下

然后再执行 。。。。。/python3就可以了

问题二

直接执行命令不好使

解决方法:修改PATH环境变量

写入:

export PATH=$PATH:/usr/local/python3/bin

然后执行命令: source /etc/profile.d/python3.sh

问题三

如果直接下载就用的国外的源,毕竟这也是人家国外开发的,所以要更改国内的源,这里我们使用aliyun的

法一

法二(永久)

永久修改

cd进入家目录,创建一个隐藏文件

mkdir .pip

进入里面创建一个文件

vim pip.conf

[global]

index-url = Simple Index

[install]

trusted-host=mirrors.aliyun.com

python各版本互不兼容

python中代表的假的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1565430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯 - 正则问题

解题思路&#xff1a; dfs import java.util.Scanner;public class Main {static int pos -1; // 充当charAt下标static String s;// 字符串型的静态变量public static void main(String[] args) {Scanner scanner new Scanner(System.in);s scanner.nextLine();System.ou…

外贸网站源码定制:助您实现海外市场拓展

在当今全球化的经济环境下&#xff0c;海外市场对于企业的发展变得愈发重要。而在拓展海外市场的过程中&#xff0c;一个功能强大、专业定制的外贸网站源码将成为您的致胜利器。无论是在展示产品、引导客户、还是进行在线交易&#xff0c;外贸网站源码的定制化都能够给您带来更…

2.人机交互-图形化界面的小故事

文章目录 一、图形化界面的小故事二、什么是cmd&#xff1f; 计算机在刚开始出现的时候&#xff0c;因为占地广、造价高、耗电多&#xff0c;一般都是给军队或者政府使用的&#xff0c;而并不是给个人使用的。然后随着计算机不断地发展&#xff0c;体积越来越小&#xff0c;出现…

C++ | Leetcode C++题解之第6题Z字形变换

题目&#xff1a; 题解&#xff1a; class Solution { public:string convert(string s, int numRows) {int n s.length(), r numRows;if (r 1 || r > n) {return s;}string ans;int t r * 2 - 2;for (int i 0; i < r; i) { // 枚举矩阵的行for (int j 0; j i &l…

在编程中使用中文到底该不该??

看到知乎上有个热门问题&#xff0c;为什么很多人反对中文在编程中的使用&#xff1f; 这个问题有几百万的浏览热度&#xff0c;其中排名第一的回答非常简洁&#xff0c;我深以为然&#xff1a; 在国内做开发&#xff0c;用中文写注释、写文档&#xff0c;是非常好的习惯&…

股票价格预测 | Python使用BP神经网络和LSTM神经网络预测股票价格

文章目录 效果一览文章概述代码设计BP神经网络LSTM神经网络效果一览 文章概述 BP神经网络使用

Nginx反向代理和缓存

一、Nginx反向代理 1.调度和代理的区别&#xff1a; 1.调度基于内核层面&#xff0c;代理基于应用层面 2.代理必须实现一手托两家 3.调度不需要监听任何端口&#xff0c;不需要工作任何应用程序&#xff0c;代理需要工作和上游服务器一模一样的进程 4.调度没有并发上限&am…

是谁?写的Java神作一出版就获Jolt图书大奖【抽奖赠书】

送书活动 1️⃣参与方式&#xff1a;点此参与抽书抽奖 2️⃣获奖方式&#xff1a;小程序随机 抽5位&#xff0c;每位小伙伴一本《Effective Java中文2024版》 3️⃣活动时间&#xff1a;截止到 2024-4-6 12:01:00 注&#xff1a;所有抽奖活动都是全国范围免费包邮到家&#xff…

HWOD:等差数列前n项的和

一、知识点 1、杨辉三角 第一行有1个&#xff0c;第二行有2个&#xff0c;第三行有3个&#xff0c;第n行有n个 前n行的和为(n1)*n/2 2、等差数列 等差数列&#xff0c;第1个数&#xff0c;有1个基数&#xff0c;0个公差&#xff1b;第2个数&#xff0c;有1个基数&#xff…

最优算法100例之24-打印1到最大的n位数

专栏主页&#xff1a;计算机专业基础知识总结&#xff08;适用于期末复习考研刷题求职面试&#xff09;系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则…

使用open3d进行人体配准和重建学习记录

使用open3d进行人体配准和重建学习记录 一、使用kinectv2捕捉人体rgb和depth图二、重建部分2.1 泼松重建2.2 滚球重建2.3 alpha重建 一、使用kinectv2捕捉人体rgb和depth图 # -*- coding: utf-8 -*- # Time : 2024/3/20 17:26 # Author : sjh # Site : # File : ma…

外贸建站:WordPress搭建外贸独立站零基础自建站完整教程(2024)

对于做外贸来说&#xff0c;拥有自己的外贸独立网站真的非常重要。在外贸领域&#xff0c;如今各平台竞争激烈&#xff0c;规则多&#xff0c;成本高&#xff0c;价格战、政策变化快&#xff0c;还存在封店风险等等因素。在这种情况下&#xff0c;拥有外贸独立站就能很好规避上…

保卫蓝天:持续努力,任重道远|中联环保圈

经过长达十年的不懈努力&#xff0c;我国在大气污染防治领域取得了令人瞩目的历史性成就。空气质量明显改善&#xff0c;蓝天保卫战初见成效。但是也必须清醒地认识到&#xff0c;目前仍面临着诸多严峻挑战&#xff0c;保卫蓝天的任务依然任重道远。 2023 年&#xff0c;我国空…

使用pip安装Jupyter

通过pip安装Jupyter Notebook. pip install jupyter通过pip安装Jupyter Lab pip install jupyterlab启动Jupyter jupyter notebook

人人都离不开的算法:AI 时代的生存指南

文章目录 一、算法在生活中的“无处不在”二、算法在工作学习中的“智慧助力”三、算法在社会发展中的“驱动力量”四、算法带来的“双刃剑”效应五、应对算法挑战的策略《人人都离不开的算法——图解算法应用》编辑推荐1、通俗易懂2、技术科普3、贴近时代、贴近生活4、启发思考…

pygame--坦克大战(二)

加载敌方坦克 敌方坦克的方向是随机的&#xff0c;使用随机数生成。 初始化敌方坦克。 class EnemyTank(Tank):def __init__(self,left,top,speed):self.images {U: pygame.image.load(img/enemy1U.gif),D: pygame.image.load(img/enemy1D.gif),L: pygame.image.load(img/e…

僵死进程(僵尸进程)

1.僵死进程产生的原因或者条件: 什么是僵死进程?当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进程先于父进程结束,并且父进程没有获取子进…

HAL STM32 硬件I2C方式读取AS5600磁编码器获取角度例程

HAL STM32 硬件I2C方式读取AS5600磁编码器获取角度例程 &#x1f4cd;相关篇《STM32 软件I2C方式读取AS5600磁编码器获取角度例程》 ✨stm32使用硬件I2C去读取角度数据&#xff0c;通过STM32CubeMX工具配置工程&#xff0c;读取角度数据&#xff0c;只需要调用一个函数&#xf…

vulhub打靶记录——healthcare

文章目录 主机发现端口扫描FTP—21search ProPFTd EXPFTP 匿名用户登录 web服务—80目录扫描search openemr exp登录openEMR 后台 提权总结 主机发现 使用nmap扫描局域网内存活的主机&#xff0c;命令如下&#xff1a; netdiscover -i eth0 -r 192.168.151.0/24192.168.151.1…

空间数据结构(四叉树,八叉树,BVH树,BSP树,K-d树)

下文参考&#xff1a;https://www.cnblogs.com/KillerAery/p/10878367.html 游戏编程知识课程 - 四分树(quadtree)_哔哩哔哩_bilibili 利用空间数据结构可以加速计算&#xff0c;是重要的优化思想。空间数据结构常用于场景管理&#xff0c;渲染&#xff0c;物理&#xff0c;游…