内容安排
1.Python简介
1. 编程语言排行榜
世界编程语言排行榜(2020年3月):
只反应某编程语言热度,不具其他参考意义
数据来源网址:(https://www.tiobe.com/tiobe-index/)
Redmonk排行榜(2020年2月):
数据来源网址:(https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ )
Python开发的大型项目:
以下是一些比较有名的网站或应用,它们在不同程度上与Python有关联。这些关联体现在有的网站或应用完全用Python开发,有的在部分业务或功能中使用了Python,还有的则支持Python作为扩展脚本语言。这些信息大部分来源于Wikipedia和Quora。
完全或部分使用Python开发的知名网站与应用:
-
Reddit:这是一个社交分享网站,最初使用Lisp开发,但在2005年转为Python。
-
Dropbox:一款流行的文件分享服务,其后端部分使用了Python进行开发。
-
豆瓣网:中国的一个图书、唱片、电影等文化产品的资料数据库网站,完全使用Python构建。
-
YouTube:全球知名的视频分享网站,在某些功能和服务上使用了Python。
-
Quora:一个知名的社交问答网站,其平台上的部分功能和后端服务由Python支持。
Python在技术和开发工具中的应用:
-
Django:这是一个鼓励快速开发的Web应用框架,完全使用Python编写。
-
Fabric:一个用于管理大量Linux主机的程序库,基于Python开发。
-
Ubuntu Software Center:Ubuntu操作系统自带的图形化包管理器,自9.10版本后部分功能使用Python。
-
YUM:RPM兼容的Linux系统上的包管理器,部分组件使用Python编写。
-
MySQL Workbench:一个可视化数据库管理工具,支持Python作为脚本语言进行自动化和定制。
Python在游戏开发中的应用:
-
EVE:网络游戏EVE Online的开发团队大量使用Python进行游戏后端和服务器端的开发。
-
Blender:一个开源的3D绘图软件,其内部引擎和大量工具都是用C和Python编写的。
-
Civilization IV:策略游戏《文明4》的部分功能使用Python进行开发。
-
Battlefield 2:第一人称射击游戏《战地2》的某些模块也使用了Python。
-
Minecraft: Pi Edition:游戏《Minecraft》的树莓派版本,完全用Python编写。
-
Autodesk Maya:专业的3D建模软件,支持Python作为脚本语言进行自定义和扩展。
Python在科学和政府机构中的应用:
-
NASA:美国宇航局自1994年起就将Python作为主要开发语言,用于各种科学研究和任务控制。
-
Google:谷歌在很多项目中使用了Python,如Google Groups、Gmail、Google Maps等,其Google App Engine也支持Python作为开发语言。
Python在开源社区和编辑工具中的应用:
-
gedit:Linux平台上的一个轻量级文本编辑器,支持Python插件进行扩展。
-
GIMP:Linux平台的图像处理软件,其插件系统支持Python脚本进行图像处理。
其他与Python有关联的网站和应用:
-
Digg:一个社交新闻分享网站,其早期版本或某些功能可能使用了Python。
-
Mozilla:一个支持开源项目的非营利组织,其部分项目或工具可能使用了Python。
-
Path:一个私密社交应用,可能在某些功能或服务上使用了Python。
-
Pinterest:一个图片社交分享网站,可能在后端或某些工具中使用了Python。
这些例子充分展示了Python作为一种强大且灵活的编程语言,在各个领域中的广泛应用和深远影响。
Python与大数据、人工智能:
2. 安装Python
1. Python.exe安装
• Python解释器-负责运行Python程序
• 命令行交互环境
要访问python.org网站并下载3.7以上版本且与自己操作系统对应的Python安装包,请按照以下步骤操作,并特别注意操作系统的位数(32位或64位):
- 访问Python官网:
- 打开浏览器,输入网址 Welcome to Python.org ,进入Python官方网站。
- 定位到下载页面:
- 在官网首页,找到并点击“Downloads”按钮,进入Python下载页面。
- 选择Python版本:
- 在下载页面,找到“Python Releases for Source”或“Python Releases for Windows”等选项(根据操作系统选择相应的选项)。
- 滚动页面或搜索,找到3.7以上版本的Python(例如Python 3.8、3.9、3.10等)。确保选择的版本是官方稳定版,而不是测试版或预览版。
- 确定操作系统位数:
- 在下载之前,请务必确认自己的操作系统是32位还是64位。这可以通过在操作系统中运行某些命令(如Windows下的
systeminfo
命令,或在Linux/Mac下查看/etc/os-release
文件并结合uname -m
命令)来检查。 - 如果不确定如何检查,可以访问操作系统的官方网站或搜索相关教程以获取帮助。
- 在下载之前,请务必确认自己的操作系统是32位还是64位。这可以通过在操作系统中运行某些命令(如Windows下的
- 选择安装包:
- 根据操作系统的位数(32位或64位),选择相应的安装包。例如,在Windows上,会看到
Windows x86-64 executable installer
(64位)和Windows x86 executable installer
(32位)等选项。 - 点击所需版本的安装包链接,开始下载。
- 根据操作系统的位数(32位或64位),选择相应的安装包。例如,在Windows上,会看到
- 安装Python:
- 下载完成后,运行安装包并按照提示进行安装。在安装过程中,可以选择安装路径、是否添加Python到环境变量等选项。
- 确保在安装过程中仔细阅读每一步的说明,并根据自己的需求进行配置。
- 验证安装:
- 安装完成后,打开命令提示符(Windows)或终端(Mac/Linux),输入
python --version
或python3 --version
命令来验证Python是否成功安装并显示正确的版本号。
- 安装完成后,打开命令提示符(Windows)或终端(Mac/Linux),输入
请注意,Python官网提供的安装包通常是最新版本的稳定版。如果需要下载特定版本的Python(例如Python 3.7.x的某个具体版本),可以访问Python官网的“Downloads”页面下的“All Releases”部分,或使用URL修改技巧(如将版本号添加到URL中)来找到并下载所需的版本。不过,请确保下载的是官方提供的安装包,以避免安全风险。
Python.exe安装程序(以3.7版本为例)
2. Anaconda安装
• 简单的集成开发环境
访问anaconda.com网站,你可以下载到Anaconda这一强大的Python发行版本。关于为什么推荐使用Anaconda,以下是一些详细的原因:
开源的Python发行版本
Anaconda是一个完全开源的Python发行版本,这意味着你可以免费地获取和使用它,同时也能够自由地对其进行修改和分发。这一特性使得Anaconda成为了许多开发者和数据科学家的首选工具之一。
包含丰富的科学包及其依赖项
Anaconda不仅包含了Python解释器,还集成了超过180个科学计算和数据分析相关的包及其依赖项,如conda、numpy、scipy、pandas、ipython notebook等。这些包涵盖了从数据处理、统计分析到机器学习等多个领域,使得用户可以轻松地构建复杂的数据分析流水线。
强大的包和环境管理器conda
conda是Anaconda的核心组件之一,它是一个开源的包和环境管理器。conda具有以下特点:
- 包管理:conda可以方便地安装、更新和卸载Python包及其依赖项。与传统的pip工具相比,conda在处理包依赖关系方面更加智能和高效,能够自动解决依赖冲突,确保安装的包版本之间的兼容性。
- 环境管理:conda允许用户创建多个独立的Python环境,每个环境都可以包含不同版本的Python解释器和不同的包集合。这使得用户可以在不同的项目之间切换环境,而不会影响其他项目的正常运行。同时,conda还提供了方便的环境导出和导入功能,使得用户可以在不同的机器上共享相同的Python环境。
适用于多种操作系统
Anaconda支持Windows、macOS和Linux等多种操作系统,并且提供了相应的安装包和安装指南。这使得用户可以在不同的平台上使用Anaconda进行Python开发和数据分析。
易于安装和配置
Anaconda的安装过程非常简单,用户只需下载相应的安装包并按照提示进行安装即可。在安装过程中,Anaconda会自动配置好环境变量和路径等关键设置,使得用户可以立即开始使用。此外,Anaconda还提供了丰富的文档和教程,帮助用户快速上手并熟悉其使用方法。
适用于多种语言
虽然Anaconda主要面向Python用户,但它也支持其他多种编程语言,如R、Ruby、Lua、Scala、Java、JavaScript、C/C++和FORTRAN等。这使得用户可以在同一个环境中进行多种语言的开发和数据分析。
关于下载3.7版本(32位或64位)的Anaconda,需要注意的是,虽然Anaconda提供了多个版本的Python供用户选择,但随着时间的推移,旧版本的Python可能会逐渐被淘汰或不再受支持。因此,建议用户尽可能下载最新版本的Anaconda,以获取最新的功能和安全性更新。如果确实需要使用Python 3.7版本,可以在Anaconda的官方网站或历史安装包页面中找到相应的安装包进行下载。不过,请确保下载的是官方提供的安装包,以避免安全风险。
Anaconda安装(以64位版本为例):
3.第一个Python程序—Hello,World!
1. 在控制台环境下运行python.exe
-
步骤:
- 打开控制台(在Windows中通常是命令提示符CMD或PowerShell,在macOS和Linux中通常是终端Terminal)。
- 输入
python
或python3
(取决于系统配置)并回车,启动Python解释器。 - 此时,您将进入Python的交互式命令行模式,提示符通常为
>>>
。 - 在提示符下输入Python代码,并回车执行。
-
C:\Users\Username>python Python 3.x.x (default, ...) [GCC ...] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello, World!") Hello, World! >>>
2. 运行IDLE,打开Shell命令行交互模式
-
IDLE简介:
- IDLE是Python的集成开发和学习环境(Integrated Development and Learning Environment),它提供了一个简单的文本编辑器和一个交互式解释器。
-
步骤:
- 安装Python时,通常会附带安装IDLE。如果未安装,请访问Python官方网站下载并安装。
- 打开IDLE,它将自动进入Shell命令行交互模式。
- 在Shell中,您可以输入Python代码并立即看到结果。
-
>>> print("Hello from IDLE") Hello from IDLE >>>
3. 安装Ipython,运行ipython
-
IPython简介:
- IPython是一个为Python交互式shell和Jupyter kernel提供增强的功能的工具。它提供了丰富的语法高亮、自动补全、魔术命令等功能。
-
步骤:
- 使用pip安装IPython:
pip install ipython
。 - 安装完成后,在控制台中输入
ipython
并回车,启动IPython解释器。 - 此时,您将进入IPython的交互式命令行模式。
- 使用pip安装IPython:
-
C:\Users\Username>ipython Python 3.x.x (default, ...) Type 'copyright', 'credits' or 'license' for more information IPython 7.x.x -- An enhanced Interactive Python. Type '?' for help. In [1]: print("Hello from IPython") Hello from IPython In [2]:
(https://docs.python.org/3/faq/windows.html#how-do-i-run-a-python-program-under-windows)
编写HelloWorld,实例网址上展示了200种不同语言编写helloworld程序
1.使用交互命令行方式输出“Hello,World!”
2.编写.py源码文件,输出Hello,World!”
3.实践PyCharm等IDE编程环境
tips:Community社区版是免费的
edu邮箱的潜力还是需要挖掘的,注册学生账号有惊喜!!!
4. Python的输入和输出
input()输入
在Python程序中,input()
函数用于从键盘获取用户输入。这个函数会等待用户输入一行文本,并在用户按下回车键后读取这行文本(不包括末尾的换行符),然后将其作为字符串返回。如果提供了 prompt
参数,这个参数的内容会在等待用户输入之前显示在屏幕上,作为提示信息。
以下是如何使用 input()
函数并从字符串转换为整数的详细步骤:
-
获取用户输入:
使用input()
函数并传递一个提示字符串作为参数。例如: -
x = input('Please input a number: ')
-
这行代码会在屏幕上显示
Please input a number:
,然后等待用户输入。 -
打印输入内容:
使用print()
函数可以打印出用户输入的内容,但注意此时内容是字符串形式。例如: -
print(x)
-
如果用户输入了
100
并按下回车,这行代码会输出100
。 -
查看变量类型:
使用type()
函数可以查看变量的类型。在这个例子中,x
是一个字符串。例如: -
type(x)
-
这行代码会输出
<class 'str'>
,表明x
是一个字符串。 -
将字符串转换为整数:
如果需要将字符串转换为整数,可以使用int()
函数。例如: -
x = int(x)
-
这行代码会将字符串
'100'
转换为整数100
。之后,使用type(x)
会输出<class 'int'>
,表明x
现在是一个整数。 -
验证转换是否成功:
使用isinstance()
函数可以检查一个变量是否是特定类型。例如:isinstance(x, str) # False,因为x现在是一个整数 isinstance(x, int) # True,因为x是一个整数
综上所述,input()
函数总是返回一个字符串,即使用户输入的是数字。如果需要其他类型的数据(如整数、浮点数等),则需要在获取输入后使用相应的类型转换函数(如 int()
、float()
等)进行转换。
请注意,在尝试将字符串转换为整数时,如果字符串包含非数字字符(如字母或特殊符号),则会引发 ValueError
异常。因此,在实际应用中,可能需要添加异常处理逻辑来确保程序的健壮性
1.除了使用int(), float()等类似强制类型转换的方式,还有其他方式将input()输入的字符串转为数值吗?
2.怎样用一个input()同时输入多个值?
1.试一下eval()内置函数。
功能:eval() 函数用来执行一个字符串表达式,并返回表达式的值。
>>> eval('2 + 2’)
4
>>>x = eval(input()) #eval()将input()输入的一个字符串转为数值
1.除了使用int(), float()等类似强制类型转换的方式,还有其他方式将input()输入的字符串转为数值吗?
2.怎样用一个input()同时输入多个值?
C语言中语句scanf(“%d%d”,&a,&b); 执行时,键盘输入默认以
空白符如空格分割输入的两个数:10 20
Python使用input()输入多个数值,可使用内置函数map():
a,b = map ( int, input().split() )
map() 函数语法:map(function, iterable, ...)
map对序列iterable中的每一个元素应用 function 函数,返回一个新列表;
Input().split()是将输入的字符串以默认的空字符进行分割,成为子串列表;
输入:10 20
input()返回值是字符串'10 20 '
input().split()按空格分割'10 20 ' ,并返回列表['10', '20']
map(int, input().split())将[‘10’, ‘20’]中的每个元素‘10’和 ‘20’执行int()操作,转为整数,返
回迭代器
进行序列解包,将迭代器元素分别赋值给a和b
print()输出
内置函数原型:
Python程序运行时,如何输出结果?
print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
功能:
将多个value输出到标准控制台sys.stdout(屏幕)或指定文件;
只要是可打印的对象都可输出,如字符串、表达式计算结果、变量、列表等,逗号分隔;
以sep参数输出对象之间的分隔符,默认为空格[即遇到逗号输出个空格];
以end参数作为最后输出的字符,默认是‘\n’,即每个print()最后要输出一个换行符;
#调试程序方式之一print('here')
# 可以发现某段逻辑是否执行
# 打印出变量的内容
>>> s1 = 'Hello, '
>>> s2 = 'World!'
>>> print(s1,s2) #遇到逗号输出空格
Hello, World! #两个输出之间有空格
>>> print('10+20=',30)
10+20= 30
>>> L1 = [1,2,3] #列表
>>> T1 = (4,5) #元组
>>> D1 = {‘name’:‘Xu’,‘age’:39} #字典
>>> print(L1,T1,D1) #可输出多个不同类型的对象
[1, 2, 3] (4, 5) {'name': 'Xu', 'age': 39}
>>> for i in L1: #for in 循环遍历L1中每个元素
print(i) #输出每个元素时,再输出一个换行
如何将1,2,3输出在一行中?
试一下:
print(i, end=‘ ’)
print()格式化输出输出
如何输出类似C语言中%.3f控制结果
方法一:使用占位符%,与C语言很相似,如%d输出整数,%f输出浮点数
>>> pi = 3.1415926
>>> print(‘ %10.3f ’ % pi) #输出pi的值是,要求输出宽度10,保留3位小数
在交互命令行方式下验证如下输出结果
print("小数: %.2f" % 3.1415926)# %.2f代表保留两位小数
print("小数: %.2f" % 4.5)# %.2f保留两位小数,不够的位用0补充
print(“宽度: %8d” % 123)# %8d代表输出宽度为8,不够的话用空格补足,如果数的宽度大于8,则正常输出
print(“前导零: %05d” % 2)# %05d代表输出宽度为5,不够的话用0补足,如果数的宽度大于5,则正常输出
方法二:使用字符串的format()方法
print(“Hello,{0},PI的值是{1:.2f}".format(“Python",3.1415926))
Tips:一定是字符串的format()方法“xxxx”.format(xx)
format()方法的基本使用
在进行输出时,存在固定输出内容和可变内容的连接问题,如:“今天是2018-01-29”
其中下划线为可变内容,Python中可以使用.format()方法进行格式化处理。
format()方法的基本格式为:
<模板字符串>.format(<逗号分隔的参数>)
模板字符串由一系列槽组成,槽用大括号{}表示,用来控制可变字符串中嵌入值出现的位置,
槽的顺序与参数的顺序对应。如:
“{}:计算机{}的CPU占用率为{}%。”.format(“2018-1-29”,”Python”,10)
“{1}:计算机{0}的CPU占用率为{2}%。”.format(“2018-1-29”,”Python”,10)
format()方法的格式控制
Format()方法中模板字符串的槽除了包含参数序号,还可以包括格式控制信息:
{<参数序号>:<格式控制标记>}
其中格式控制标记用来控制参数显示的格式,格式如下:
编写.py代码,实现以下功能:
1.从键盘上输入你的名字Tom,在屏幕显示“Hello,Tom!”
2.输入1024和0.768 ,计算乘积并输出,保留2位小数。
输出格式为:1024*0.768 = 786.43
myname = input('请输入姓名:')
print('Hello,',myname)
x = int(input('请输入第一个数:'))
y = float(input('请输入第二个数:'))
print("{0}*{1}={2:.2f}".format(x,y,x*y))