Python基础01-环境搭建与输入输出

news2024/9/23 5:23:05

零、文章目录

Python基础01-环境搭建与输入输出

1、Python概述

(1)为什么要学习Python
  • 技术趋势:Python自带明星属性,热度稳居编程语言界前三

image-20231117120901228

  • 简单易学:开发代码少,精确表达需求逻辑;33个关键字,7种基本数据类型;语法规则简单,接近自然语言

image-20231117121011608

  • 应用广泛:Python语言涉及IT行业70%以上的技术领域

image-20231117121039299

(2)Python语言的诞生
  • 1989年,为了打发圣诞节假期,龟叔(吉多·范·罗苏姆)开始写Python语言的编译器
  • 1991年,第一个Python编译器诞生
  • Python这个名字,来自龟叔所挚爱的电视剧Monty Python’s Flying Circus (蒙蒂·蟒蛇的飞行马戏团)

image-20231117121208512

(3)Python的优缺点
  • 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,Python的这种代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
  • 易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
  • 免费、开源:Python开源的. 简单地说,你可以自由地阅读它的源代码、对它做改动、这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
  • 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。
  • 丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。
  • **缺点:**Python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。

2、Python解析器

(1)Python解析器的作用
  • Python解释器的作⽤:运⾏Python文件

image-20231117134118293

(2)Python解析器种类
  • CPython,C语言开发的解释器[官方],应⽤广泛的解释器。
  • IPython,基于CPython的一种交互式解释器。
  • 其他解释器
    • PyPy,基于Python语言开发的解释器。
    • JPython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。
    • IronPython,运⾏在微软.Net平台上的Python解释器,可直接把Python代码编译成.Net的字节码。
(3)下载Python解析器
  • 下载地址:https://www.python.org/downloads/release/python-3120/
  • 百度网盘:https://pan.baidu.com/s/17rkTQrkY6HWd1L5EHPoDig?pwd=1234

image-20231117135445457

(4)安装Python解析器
  • 双击可执⾏行行⽂文件 —[勾选添加环境变量量] – [Install Now],按提示操作即可。

image-20231117141038053

3、PyCharm开发利器

(1)PyCharm的作用
  • PyCharm是⼀种Python IDE (集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的⼯具,

  • 内部集成的功能如下:

    • Project管理

    • 智能提示

    • 语法高亮

    • 代码跳转

    • 调试代码

    • 解释代码(解释器)

    • 框架和库

(2)PyCharm的分类
  • PyCharm分为专业版(professional)和社区版(community),本文章主要以社区版为基准进行操作和讲解。
(3)下载PyCharm软件
  • 下载地址:https://www.jetbrains.com/pycharm/
  • 百度网盘:https://pan.baidu.com/s/1NWDhx91K4gTjSya4-5-jDQ?pwd=1234

image-20231117142438168

(4)安装PyCharm软件
  • 双击安装包 – [选择安装位置] – [添加环境变量和快捷方式,关联文件扩展] --[Install] --[Finish]

image-20231117142917665

(5)PyCharm基本使用
  • 新建项目:打开PyCharm – [New Project] – 选择项根目录和解释器版本 – [Create]

image-20231117145835350

image-20231117150502047

  • 新建文件并书写代码:项⽬根⽬录或根目录内部任意位置 – 右键 – [New] – [Python File] – 输⼊文件名 – [OK],如果将来要上传到服务器的文件,那么文件名切记不能使用中文。

image-20231117150917154

image-20231117151006958

  • 编写Python代码:双击打开⽂文件,并书写一个最简单的Python代码

image-20231117151146610

  • 运⾏文件:选中文件–右键–Run,或者在文件内–右键–Run

image-20231117151252197

image-20231117151439166

(6)PyCharm基本设置
  • [File] – [Settings]–[Appearance & Behavior]

  • [Appearance & Behavior] – [Appearance]:Theme:修改主题,Use custom font :修改主题字体,Size:修改主题字号

image-20231117193838487

  • [Editor] – [Font]:Font:修改字体,Size:修改字号,Line Spacing:修改行间距

image-20231117195125110

  • [Project: 项目名称] – [Project Interpreter] – 选择目标解释器

image-20231117195742659

  • [File] – [Open]:打开项目,浏览选择目标项目根目录, 选择打开项目方式,打开项⽬的方式共三种。
    • This Window:覆盖当前项目,从而打开目标项目
    • New Window:在新窗口打开,则打开两次PyCharm,每个PyCharm负责一个项⽬
    • Attach:把两个项目合并在一起,放在同一个窗口中

image-20231117202510595

  • [File] – [Close Project]:关闭项目

4、Python注释

(1)为什么需要注释
  • 在我们编写Python程序时,为了提高程序的可读性,强烈建议大家为核心代码添加注释信息。
(2)注释代码与非注释代码对比
  • 添加了注释的代码更加易于程序的阅读。

image-20231117203751047

(3)Python注释的分类及语法
  • 单行注释:单行注释只能注释一行内容
# 注释内容
# 在Python中可以使用(# 注释内容)来表示单行注释
print('hello world')  # 单行注释,主要用于表示代码的输出结果 => hello world
  • 多⾏注释:多行注释可以注释多行内容,常用于代码块注释情况
"""
	第一行注释
	第二行注释
	第三行注释
"""

'''
	第一行注释
	第二行注释
	第三行注释
'''
'''
注释的内容不止1行,就可以使用多行注释!
注意:这里既可以使用三个单引号也可以使用三个双引号,在注释中,两者效果完全相同!
'''

"""
多行注释在实际工作中的应用场景:
① 用于编写程序的设计逻辑
以下程序一共分为三个步骤
第一步:定义一个计数器
第二步:编写循环条件
第三步:在循环体内部更新计数器值

② 多行注释还可以用于函数的说明文档
sum_num()函数,主要用于求两个数的和
参数说明:
num1代表第一个参数,整数类型
num2代表第二个参数,整数类型
返回值说明:
当函数执行完毕后,其返回两个数的和!
"""
def sum_num(num1, num2):
    return num1 + num2
(4)PyCharm注释快捷键
  • 可以直接使用 Ctrl + / 来快速生成代码注释

5、Python变量

(1)变量是什么
  • 变量是存储数据的容器
  • 变量存储的数据是临时的
  • 变量在程序运行过程中是可以发生改变的量
(2)变量的作用
  • 通过变量来实现存储以方便后续操作

image-20231117211322363

(3)变量的定义
  • 基本语法:变量名 = 变量的值
  • 注意事项:等号两边都要保留一个空格,变量名可以自定义,但是要满⾜标识符命名规则。
# 定义一个变量,c1变量,用于保存数据"可乐"
c1 = "可乐"
c2 = "牛奶"

# 打印输出变量
print(c1)
print(c2)
(4)标识符命名规则
  • 标识符命名规则是Python中定义变量名称时一种命名规范

    • 由数字、字母、下划线组成

    • 不能数字开头

    • 严格区分⼤小写

    • 不能使⽤内置关键字作为变量名称

  • Python内置关键字如下

image-20231117211756137

# help('keywords')
# 定义几个变量,用于保存一个人的信息
name = '刘国晓'  # ''/""引号引起来的内容都称之为“字符串”
age = 23
address = '广州市天河区'

print(name)
print(age)
print(address)

# 在Python代码中,print()也可以同时输出多个变量
print(name, age, address)
(5)命名习惯
  • 变量命名一定要做到见名知义。
  • 大驼峰:即每个单词首字母都大写,例如: MyName 。
  • 小驼峰:第二个(含)以后的单词首字母大写,例例如: myName 。
  • 下划线:例如: my_name 。
(6)变量的使用
  • 在Python中,变量必须要先定义后使用。
my_name ='YYY'
print(my_name)

schoolName ='XXX'
print(schoolName)
(7)变量的数据类型
  • 在 Python中,我们为了应对不同的业务需求,也会把数据分为不同的类型

image-20231117212851550

  • 不同类型变量的定义及判断,判断方法 => type()
a = 1
print(type(a)) # <class 'int'> -- 整型
b = 1.1
print(type(b)) # <class 'float'> -- 浮点型
c = True
print(type(c)) # <class 'bool'> -- 布尔型
d = '12345'
print(type(d)) # <class 'str'> -- 字符串
e = [10, 20, 30]
print(type(e)) # <class 'list'> -- 列表
f = (10, 20, 30)
print(type(f)) # <class 'tuple'> -- 元组
h = {10, 20, 30}
print(type(h)) # <class 'set'> -- 集合
g = {'name': 'TOM','age': 20}
print(type(g)) # <class 'dict'> -- 字典

6、Python中的Bug

(1)Bug是什么
  • 所谓bug,就是程序中的错误。如果程序有错误,就需要咱们程序员来进行问题排查,及时纠正错误

image-20231117214425947

(2)Debug工具
  • Debug工具是PyCharm IDE中集成的专门用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程,以方便我们快速找出程序的Bug!
  • Debug工具使⽤二步走:① 打断点 ② Debug调试
(3)打断点
  • 断点位置:断点要定位在要调试Python代码段的第一行即可
  • 打断点的方法:在需要调试代码行的行号位置右侧的空白处单击即可

image-20231117215453584

(4)Debug调试
  • 断点打好后,在文件内部任意位置 – 右键 – Debug文件名 – 即可调出Debug工具面板 – 单击StepOver/F8,即可按步执⾏代码。

image-20231117215716182

(5)Debug输出面板分类
  • Threads&Variables:显示变量和变量的细节
  • Console:输出内容

image-20231117220106490

7、Python格式化输出

(1)输出是什么
  • 所谓输出就是程序输出给用户
# 1、定义一些变量
name = '张三'
age = 25
address = '广州市天河区'

# 2、变量的输出(普通输出)
print(name)
print(age)
print(address)

# 在Python,还允许多个变量同时输出
print(name, age, address)
(2)格式化输出
  • 所谓的格式化输出即按照一定的格式输出内容。格式化符号:

image-20231118094803245

(3)案例演示
  • 百分号形式的格式化输出
'''
如果我们想把某些变量通过一定的格式进行输出展现,可以使用百分号形式实现
基本语法:
print(变量名称)
print('字符串%格式' % (变量名称))
print('字符串%格式 %格式 %格式' % (变量名称1, 变量名称2, 变量名称3))
'''
# 案例:定义两个变量name='ly', age=18,按照如下格式进行输出:我的名字是ly,今年18岁了。
name = 'ly'
age = 18
print('我的名字是%s,今年%d岁了。' % (name, age))
# 格式化字符串除了%s,还可以写为f‘{表达式}’,f-格式化字符串是Python3.6中新增的格式化⽅法,该方法更简单易读。
print(f'我的名字是{name},明年{age + 1}岁了。')

# 案例:定义两个变量title='大白菜',price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
print('今天蔬菜特价了,%s只要%f元/斤。' % (title, price))
# 在Python中,浮点数还可以进一步格式化,比如保留2位小数 => %.2f
print('今天蔬菜特价了,%s只要%.1f元/斤。' % (title, price))

# 案例:定义两个变量id=1,name='ly',按照如下格式进行输出:姓名ly,学号000001
id = 1
stuname = 'ly'
print('姓名%s,学号%d' % (stuname, id))
# 在Python中,%d整数类型还可以进一步格式化,如保留6位,不足的在前面填充0
print('姓名%s,学号%06d' % (stuname, id))

'''
案例:由于受到俄罗斯与乌克兰战争影响,原油价格上浮5%!
记住:如果需要在百分号形式的格式化输出中输出一个百分号,我们可以通过%%来实现!
'''
num = 5
print('由于受到俄罗斯与乌克兰战争影响,原油价格上浮%d%%!' % (num))
  • 输出
我的名字是ly,今年18岁了。
我的名字是ly,明年19岁了。
今天蔬菜特价了,大白菜只要3.500000元/斤。
今天蔬菜特价了,大白菜只要3.5元/斤。
姓名ly,学号1
姓名ly,学号000001
由于受到俄罗斯与乌克兰战争影响,原油价格上浮5%!
  • format形式格式化输出
'''
基本语法:
print('字符串{}'.format(变量名称1))
print('{}字符串{}'.format(变量名称1, 变量名称2))

强调:.format()形式的格式化输出只能在Python3中使用!
案例:定义两个变量,name='孙悟空',mobile='18878569090',按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
'''
name = '孙悟空'
mobile = '18878569090'
print('姓名:{},联系方式:{}'.format(name, mobile))
  • 输出
姓名:孙悟空,联系方式:18878569090
  • f简写形式格式化输出
# 案例:定义两个变量,name='孙悟空',mobile='18878569090',按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
name = '孙悟空'
mobile = '18878569090'
print(f'姓名:{name},联系方式:{mobile}')

# 案例:定义两个变量title='大白菜',price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
print(f'今天蔬菜特价了,{title}只要{price:.2f}元/斤。')

# 案例:定义两个变量id=1,name='ly',按照如下格式进行输出:姓名ly,学号000001
id = 1
name = 'ly'
print(f'姓名{name},学号{id:06d}')
  • 输出
姓名:孙悟空,联系方式:18878569090
今天蔬菜特价了,大白菜只要3.50元/斤。
姓名ly,学号000001
(4)转义字符
  • \n :换⾏符。
  • \t :制表符,一个tab键(4个空格)的距离。
  • 在Python中,print(), 默认自带end=“\n” 这个换行结束符,所以导致每两个print 直接会换行展示,⽤户可以按需求更改结束符。
'''
在Python中,通过\字符表示的特殊形式就称之为转义字符。转义字符常见的有这样两种形式:
① \t :制表符,等价于一个Tab键或者4个空格
② \n :换行符,一旦在字符串中遇到了\n,则后面的内容自动另起一行

扩展:print()完整写法print(变量名称, end='\n')代表在输出变量以后,会自动在变量的后面追加一个\n
'''
print('hello\npython')
print('*')
print('*\t*')
print('*\t*\t*')
print('*\t*\t*\t*')
print('*\t*\t*\t*\t*')

# 扩展:思考一个问题,为什么每次使用print()打印变量以后都会自动换行呢?
name = '张三'
age = 23
print(name, end='')
print(age, end='')
  • 输出
hello
python
*
*	*
*	*	*
*	*	*	*
*	*	*	*	*
张三23

8、Python的input()输入方法

(1)输入是什么
  • 在Python中,程序接收用户输入的数据功能即是输入。

image-20231118103449670

(2)input基本语法
'''
在Python中,输出我们可以使用print()方法实现。接收由外部设备输入的内容,我们则可以使用input()方法实现。
基本语法:
变量名称 = input('代表提示用户输入信息:')

但是如果程序只有input()其实没有任何意义,我们一般拿到这个数据以后,还需要进一步加工,所以建议定义一个变量保存用户的输入内容
'''
password = input('请输入您要交易的交易密码:')
print(f'您好,您输入的交易密码为:{password}')
(3)输入的特点
  • 当程序执行到input,等待用户输入,输入完成之后才能继续向下执行。
  • 在Python中,input接收用户输入后,一般存储到变量,方便使用。
  • 在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。
'''
input()除了可以接收数据以外,还隐藏了两个特殊的功能:
① input()方法,永远都是str字符串类型
② input()方法还具有一个"暂停"功能,阻塞后续代码的继续执行,直到用户输入完成以后,代码才可以继续向下执行
'''
content = input('请输入您要显示的内容:')
print(type(content))

image-20231118150036256

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

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

相关文章

linux记录

一、修改eth0网口静态IP 1、sudo vim /etc/network/interfaces 2、按E进入编辑模式&#xff0c;按i进入编辑输入&#xff1a; auto eth0 iface eth0 inet static address 192.168.3.223 netmask 255.255.255.0 gateway 192.168.3.13、按Esc退出编辑&#xff1b;:wq保存文件并…

移植LVGL到像素屏,从此玩转像素屏0门槛

硬件方面 先上渲染图 实物图 配置 主控&#xff1a;esp32 micro32 plus主频&#xff1a;240MhzFlash&#xff1a;8MPSRAM&#xff1a;2M 软件方面 众所周知&#xff0c;LVGL是一个十分优秀的图形框架&#xff0c;小到几百kb的单片机&#xff0c;大到Linux都可以运行。既然它…

【Qt QML 入门】TextEdit

TextEdit可以显示多行可编辑的格式化文。默认是无边框的&#xff0c;可以和父控件完美融合。 import QtQuick import QtQuick.Window import QtQuick.ControlsWindow {id: winwidth: 800height: 600visible: trueTextEdit {id: textEditanchors.centerIn: parenttext: "He…

【ArkTS】生命周期

页面生命周期 通常Entry修饰的组件称为页面&#xff0c;其拥有页面生命周期 onPageShow&#xff1a;页面每次显示时触发。onPageHide&#xff1a;页面每次隐藏时触发&#xff08;通常是路由跳转到其他页面了&#xff09;。onBackPress&#xff1a;当用户点击返回按钮时时触发…

谷歌的开源供应链安全

本内容是对Go项目负责人Russ Cox 在 ACM SCORED 活动上演讲内容[1]的摘录与整理。 SCORED 是Software Supply Chain Offensive Research and Ecosystem Defenses的简称, SCORED 23[2]于2023年11月30日在丹麦哥本哈根及远程参会形式举行。 摘要 &#x1f4a1; 谷歌在开源软件供应…

​SQL (关系型) 数据库-fastapi集成

SQL (关系型) 数据库 - FastAPI FastAPI不需要你使用SQL(关系型)数据库。 但是您可以使用任何您想要的关系型数据库。 在这里&#xff0c;让我们看一个使用着SQLAlchemy的示例。 您可以很容易地将SQLAlchemy支持任何数据库&#xff0c;像&#xff1a; PostgreSQLMySQLSQLi…

Visual Studio 2022封装C代码为x64和x86平台动态库

1.引言 本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件)&#xff0c;以及如何在C程序中调用生成的dll。 程序下载&#xff1a; 2.示例C语言程序 假设需要开发一个动态链接库&#xff0c;实现复…

Linux(操作系统)面经——part 1(持续更新中......)

1、说一说常用的 Linux 命令 mkdir创建文件夹&#xff0c;touch创建文件&#xff0c;mv移动文件内容或改名 rm-r 文件名&#xff1a;删除文件 cp拷贝&#xff1a;cp 文件1 文件2&#xff0c;cp-r跨目录拷贝 cp-r 路径1 路径2 vi 插入 &#xff1a;wqb保存退出 :q!强制退出…

W25N01GV 芯片应用

项目中处于成本考虑&#xff0c;要把Nor Flash换成低成本的Nand Flash。 这里总结下芯片应用。 总体概述&#xff1a; 1&#xff09;W25N01&#xff08;NandFlash&#xff09;和W25Q&#xff08;Nor Flash&#xff09;的操作大不一样。 NandFlash擦除以块&#xff08;128KB&…

计算BMI指数-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第19讲。 计算BMI指数&…

【TB作品】基于单片机的机械通风控制系统,实时温度和二氧化碳浓度

硬件&#xff1a; &#xff08;1&#xff09;51系列单片机&#xff0c;拟采用STC89C52RC&#xff1b; &#xff08;2&#xff09;DS18B20温度传感器&#xff1b; &#xff08;3&#xff09;二氧化碳浓度传感器&#xff1a;https://item.taobao.com/item.htm?spma21n57.1.0.0.1…

DS八大排序之冒泡排序和快速排序

前言 前两期我们已经对"插入排序"&#xff08;直接插入排序和希尔排序&#xff09; 和 "选择排序"&#xff08;直接选择排序和堆排序&#xff09;进行了详细的介绍~&#xff01;这一期我们再来详细介绍一组排序 &#xff1a;"交换排序"即耳熟能…

lv12 uboot移植深化 9

u-boot-2013.01移植 【实验目的】 了解u-boot 的代码结构及移植的基本方法 【实验环境】 ubuntu 14.04发行版FS4412实验平台交叉编译工具arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 1 建立自己的平台 1.…

在线客服系统定价因素解析:影响价格的关键因素

跨境电子商务公司必不可少的工具就是在线客服系统。企业选择在线客服系统的时候免不了要对不同产品的功能性、价格、服务等因素进行考量。今天这篇文章&#xff0c;我们就来探讨一下在线客服系统的定价因素有哪些&#xff1f;探究市面上的在线客服系统价格各异的影响因素。为大…

libp2p 快速开始

文章目录 第一部分&#xff1a;libp2p 快速入门一、什么是libp2plibp2p 发展历程libp2p的特性p2p 网络和我们熟悉的 client/server 网络的区别&#xff1a; 二、Libp2p的实现目标三、Libp2p的用途四、运行 Libp2p 协议流程libp2p 分为三层libp2p 还有一个局域网节点发现协议 mD…

27系列DGUS智能屏发布:可实时播放高清模拟信号摄像头视频

针对高清晰度的模拟信号摄像头视频画面的显示需求&#xff0c;迪文特推出27系列DGUS智能屏。该系列智能屏可适配常见的AHD摄像头、CVBS摄像头&#xff0c;支持单路1080P高清显示、两路720P同屏显示&#xff08;同一类型摄像头&#xff09;。用户通过DGUS简单开发即可实现摄像头…

netty-daxin-3(rpc远程调用)

文章目录 nettyRpcObjectEncoder 与 ObjectDecoderjdk动态代理回顾Rpc调用过程简析服务端客户端 nettyRpc ObjectEncoder 与 ObjectDecoder ObjectEncoder继承自MessageToByteEncoder<Serializable>&#xff0c;它内部使用ByteBufOutputStream包装ByteBuf对象&#xff…

SpringBoot 自动装配原理---源码详解

目录 SpringBoot 自动装配原理源码流程详解&#xff1a;流程总结&#xff1a;条件匹配解释&#xff1a;其他解释&#xff1a; SpringBoot 自动装配原理 源码流程详解&#xff1a; 1、先看启动类&#xff0c;启动这个main方法&#xff0c;然后调用这个run方法。 2、把 启动类作…

一文了解Tomcat

文章目录 1、Tomcat介绍2、Tomcat使用配置2.1、Tomcat下载启动2.2、Tomcat启动乱码2.3、Tomcat端口号修改 3、Tomcat项目部署4、IDEA中使用Tomcat方式 1、Tomcat介绍 什么是Tomcat ​ Tomcat是Apache软件基金会一个核心项目&#xff0c;是一个开源免费的轻量级web服务器&#x…

Networkx实现小世界网络的分析

Networkx实现小世界网络的分析 小世界网络 小世界现象&#xff0c;也被称为六度分离原则&#xff0c;即如果你在地球上的任何地方随便选择任何两个人&#xff0c;你会发现一条至多由他们之间的6个熟人形成的路径。在网络科学语言中&#xff0c;六度也被称为小世界性质&#x…