Python 简介:一文快速入门(python python)
off999 2024-09-13 13:27 46 浏览 0 评论
Python 简介
- 本页内容
- 序言
- 语言简介
- Python 源代码
- 导入、命令行参数和 len()
- 用户定义的函数
序言
欢迎学习 Google 的 Python 在线教程。它基于内部提供的介绍性 Python 课程。如设置页面中所述,此资料适用于 Python 3。
语言简介
Python 是一种动态、解释型(字节码编译)语言。源代码中不存在变量、参数、函数或方法的类型声明。这会使代码简短而灵活,并且您会失去源代码的编译时类型检查。Python 可在运行时跟踪所有值的类型,并在运行时标记没有意义的代码。
查看 Python 代码的一种绝佳方式就是运行 Python 解释器并在其中直接输入代码。如果您有任何类似“如果我将 int 添加到 list 会发生什么情况?”的问题,那么只需在 Python 解释器中输入它即可,这可能是查看发生情况的最佳方式,而且最好也是查看发生情况的最佳方式。(请参见下文,了解实际情况!)
$ python3 ## Run the Python interpreter
Python 3.X.X (XXX, XXX XX XXXX, XX:XX:XX) [XXX] on XXX
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 6 ## set a variable in this interpreter session
>>> a ## entering an expression prints its value
6
>>> a + 2
8
>>> a = 'hi' ## 'a' can hold a string just as well
>>> a
'hi'
>>> len(a) ## call the len() function on a string
2
>>> a + len(a) ## try something that doesn't work
Traceback (most recent call last):
File "", line 1, in
TypeError: can only concatenate str (not "int") to str
>>> a + str(len(a)) ## probably what you really wanted
'hi2'
>>> foo ## try something else that doesn't work
Traceback (most recent call last):
File "", line 1, in
NameError: name 'foo' is not defined
>>> ^D ## type CTRL-d to exit (CTRL-z in Windows/DOS terminal)
在您输入 python 之后和在 >>> 提示符前显示两行 Python 代码,即可了解您使用的 Python 版本及其构建位置。只要输出的是“Python 3”,这些示例就适合您。
如上所示,变量和运算符很容易实验。此外,在代码尝试读取尚未赋值的变量时,解释器会抛出(又称为“提升”)的运行时错误。与 C++ 和 Java 一样,Python 区分大小写,因此“a”和“A”是不同的变量。行的末尾表示语句的末尾,因此与 C++ 和 Java 不同的是,Python 不需要在每个语句的末尾添加分号。注释以“#”开头,并延伸到代码行的末尾。
Python 源代码
Python 源文件使用“.py”扩展名,并称为“模块”。若要运行 Python 模块 hello.py,最简单的方法就是使用 shell 命令“python hello.py Alice”来调用 Python 解释器以执行 hello.py 中的代码,并向该命令传递命令行参数“Alice”。 请参阅官方文档页面,了解从命令行运行 Python 时可使用的所有不同选项。
以下是一个简单的 hello.py 程序(请注意,代码块以缩进而非大括号的形式进行了严格定义,稍后会详细介绍!):
#!/usr/bin/python3
# import modules used here -- sys is a very standard one
import sys
# Gather our code in a main() function
def main():
print('Hello there', sys.argv[1])
# Command line args are in sys.argv[1], sys.argv[2] ...
# sys.argv[0] is the script name itself and can be ignored
# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()
从命令行运行此程序的方式如下所示:
$ python3 hello.py Guido
Hello there Guido
$ ./hello.py Alice ## without needing 'python3' first (Unix)
Hello there Alice
导入、命令行参数和len()
Python 文件(也称为“模块”)中的最外层语句会执行其一次性设置。首次导入模块时,这些语句会从上到下运行,设置其变量和函数。Python 模块可以直接运行(如上方 python3 hello.py Bob 所示),也可以由一些其他模块导入和使用。当直接运行 Python 文件时,特殊变量“__name__”会设置为“__main__”。因此,当模块直接运行时,通常会存在如下所示的样板 if __name__ ==... 来调用 main() 函数,但如果其他一些模块导入了该模块,则不会就会调用它。
在标准 Python 程序中,列表 sys.argv 以标准方式包含命令行参数,其中 sys.argv[0] 为程序本身,sys.argv[1] 为第一个参数,以此类推。如果您了解 argc(即参数数量),可以直接使用 Python 通过 len(sys.argv) 请求此值,就像我们在请求字符串长度时在上面的交互式解释器代码中所做的那样。通常,len() 可以告诉您字符串的长度、列表和元组中的元素数量(一种类似于数组的数据结构)以及字典中的键值对数量。
用户定义的函数
Python 中的函数定义如下:
# Defines a "repeat" function that takes 2 arguments.
def repeat(s, exclaim):
"""
Returns the string 's' repeated 3 times.
If exclaim is true, add exclamation marks.
"""
result = s + s + s # can also use "s * 3" which is faster (Why?)
if exclaim:
result = result + '!!!'
return result
另请注意,函数或 if 语句包含的行如何按相同的缩进级别进行分组。我们还介绍了 2 种不同的字符串重复使用方式,使用 + 运算符更易于用户理解,但 * 也同样适用,因为它是 Python 的“重复”运算符,也就是说,'-' * 10 能够为 '----------' 提供一种创建屏幕上“线路”的简洁方法。在代码注释中,我们指出 * 比 + 速度更快,原因是 * 计算所生成对象的大小一次,而使用 + 表示每次调用 + 时都会进行计算。+ 和 * 均称为“重载”运算符,因为它们在数字与字符串(及其他数据类型)的含义方面有所不同。
def 关键字用于定义函数,圆括号内包含其参数,代码缩进。函数的第一行可以是说明函数作用的文档字符串(“文档字符串”)。文档字符串可以是单行,也可以是多行说明(如上例所示)。(这些是“三引号”,这是 Python 独有的功能!)函数中定义的变量是该函数的局部变量,因此上述函数中的“result”变量与另一个函数中的“result”变量是分开的。return 语句可以接受参数,在这种情况下,该参数就是返回给调用方的值。
以下代码可调用上述 repeat() 函数,并输出其返回的内容:
def main():
print(repeat('Yay', False)) ## YayYayYay
print(repeat('Woo Hoo', True)) ## Woo HooWoo HooWoo Hoo!!!
在运行时,函数必须先由“def”执行定义,然后才会被调用。通常情况下,应将 main() 函数定义为文件底部,并在其上方调用的函数。
缩进
Python 的一项独特功能是,空白空格缩进会影响其含义。语句的逻辑块(例如构成函数的语句块)应具有相同的缩进(从父函数的缩进或“if”等缩进机制中设置)。如果组中的某一行缩进不同,系统会将其标记为语法错误。
Python 对空格的使用一开始有些奇怪,但这是合理的,我发现我很快就使用了。避免使用 TAB,因为它们非常会导致缩进机制复杂(更不用说 TAB 在不同平台上可能表示不同的含义)。将编辑器设置为插入空格,而不是用于 Python 代码的 TAB。
新手经常会问的一个问题是:“我应该缩进多少个空格?”根据官方 Python 样式指南 (PEP 8),您应缩进 4 个空格。(一个有趣的事实:Google 的内部风格准则规定缩进 2 个空格!)
运行时检查代码
Python 在编译时只执行非常少的检查,将几乎所有类型的检查和名称检查等推迟到相应行运行。假设上述 main() 会调用 repeat(),如下所示:
def main():
if name == 'Guido':
print(repeeeet(name) + '!!!')
else:
print(repeat(name))
if 语句包含一个明显的错误,其中 repeat() 函数意外输入为 repeeeet()。有趣的是,Python 中的代码可编译和运行,前提是运行时的名称不是“Guido”。仅当运行实际上尝试执行 repeeeet() 时,它才会发现没有此类函数并抛出错误。此代码段中还包含第二个错误。在与“Guido”进行比较之前,尚未为名称赋值。如果您尝试评估未分配的变量,Python 会引发“NameError”。这里是一些示例,说明了首次运行 Python 程序时,您首先看到的一些错误可能是简单的拼写错误或未初始化的变量。在这方面,使用更为冗长的类型系统的语言(例如 Java)具有优势...它们可以在编译时捕获此类错误(当然,您必须保留所有此类信息,但需要权衡利弊)。
Python 3 引入了类型提示。通过类型提示,您可以指明函数中每个参数的类型以及函数返回的对象的类型。例如,在带有注解的函数 def is_positive(n: int) -> bool: 中,参数 n 是 int,返回值是 bool。我们稍后会介绍这些类型的含义。不过,类型提示完全是可选的。 您会看到越来越多的代码采用类型提示,因为如果您使用此类提示,一些编辑器(如 cider-v 和 VS.code)可以运行检查,以验证是否使用正确的参数类型调用了您的函数。在您修改代码时,他们甚至可以建议和验证参数。 本教程不涉及类型提示,但我们希望确保您能在听到这类消息或实际看到它们时有所了解。
变量名称
由于 Python 变量在源代码中没有拼写出任何类型,因此为变量指定有意义的名称有助于提醒自己发生什么情况。如果是“name”的话,请使用“name”,如果是名称列表,请使用“name”,如果是元组列表,请使用“tuples”。很多基本的 Python 错误都源于忘记每个变量中哪类值,因此请使用变量名称(也就是您所拥有的全部)来帮助确保变量的正确性。
就实际命名而言,对于由“多个字词”构成的变量名称,一些语言更倾向于使用下划线功能,但其他语言更倾向于驼峰式大小写。一般来说,Python 会首选下划线方法,但是如果开发者已经集成到已经使用该样式的现有 Python 代码中,则引导其采用驼峰式调用。可读性计数。如需了解详情,请参阅关于 PEP 8 中的命名惯例的部分。
就像猜测一样,“if”和“when”等关键字不能用作变量名称;如果您这样做,就会出现语法错误。不过,请注意不要将内置函数用作变量名称。例如,虽然“str”、“list”和“print”可能看起来不错,但您需要替换这些系统变量。内置代码不是关键字,因此容易受到新 Python 开发者的意外使用。
详细了解模块及其命名空间
假设您有一个模块“binky.py”,其中包含“def foo()”。该 foo 函数的完全限定名称为“binky.foo”。这样,各种 Python 模块就可以随意命名其函数和变量,并且变量名称不会发生冲突 - module1.foo 与 module2.foo 不同。在 Python 词汇中,我们将说到,binky、module1 和 module2 都有自己的“命名空间”,您可以猜测它们是变量名称到对象的绑定。
例如,我们有一个标准的“sys”模块,该模块包含一些标准系统工具,如 argv 列表和 exit() 函数。使用“import sys”语句,您可以访问 sys 模块中的定义,并通过其完全限定名称(例如 sys.exit())使其可用(没错,“sys”也具有命名空间!)
import sys
# Now can refer to sys.xxx facilities
sys.exit(0)
还有另外一个导入表单,如下所示:“from sys import argv, exit”。这样就可以将 argv 和 exit() 用作其简称;不过,我们建议使用完全限定名称的原始形式,因为确定函数或属性的来源要容易得多。
许多模块和软件包与标准的 Python 解释器安装捆绑在一起,因此您无需执行额外的操作即可使用它们。这些统称为“Python 标准库”。常用的模块/软件包包括:
- sys - 访问 exit()、argv、stdin、stdout、...
- re - 正则表达式
- os - 操作系统接口、文件系统
您可以在 http://docs.python.org/library 上找到所有标准库模块和软件包的文档。
在线帮助,help(),dir()
可通过多种方式获得 Python 帮助。
- 在 Google 中搜索,以“python”开头,例如“python list”或“python string 小写”。第一次命中通常是答案。出于某种原因,此方法对于 Python 来说似乎比其他语言效果更好。
- 官方 Python 文档网站 (docs.python.org) 包含高质量的文档。尽管如此,我经常发现使用 Google 搜索可以更快地搜索几个字词。
- 此外,我们还提供了官方辅导名单,专门面向 Python 和/或编程新手。
- 您可以在 StackOverflow 和 Quora 上找到许多问题(和答案)。
- 请使用 help() 和 dir() 函数(见下文)。
在 Python 解释器内,help() 函数会针对各种模块、函数和方法提取文档字符串。这些文档字符串与 Java 的 javadoc 类似。dir() 函数说明了某个对象的属性。下面是从解释器调用 help() 和 dir() 的一些方法:
- help(len) - 内置 len() 函数的帮助字符串;请注意,它为“len”而非“len()”,后者是对该函数的调用
- help(sys) - sys 模块的帮助字符串(必须先执行 import sys)
- dir(sys) - dir() 与 help() 类似,但只提供了其定义的符号或“属性”的快速列表
- help(sys.exit) - sys 模块中 exit() 函数的帮助字符串
- help('xyz'.split) - 适用于字符串对象的 split() 方法的帮助字符串。您可以使用该对象本身或其对象示例及其属性调用 help()。例如,调用 help('xyz'.split) 等同于调用 help(str.split)。
- help(list) - list 对象的帮助字符串
- dir(list) - 显示 list 对象属性,包括其方法
- help(list.append) - 适用于 list 对象的 append() 方法的帮助字符串
相关推荐
- 台式电脑线路安装步骤图(台式电脑怎么安装线路图)
-
安装电脑线路需要以下步骤:首先,确定电脑所需的线路类型,如电源线、网线等。然后,将线路插头与相应的接口连接,确保插头与接口对应正确。接下来,将线路沿着合适的路径布置,避免过度弯曲或拉扯。在布置线路时,...
- qq空间触屏版登录入口(qq空间登录入口首页)
-
z.qq.com可以通过以下方式登录手机QQ空间:1、使用手机登录手机腾讯网3g.qq.com,点击“空间”,根据提示QQ号码和QQ密码就可以登录;2、通过手机直接输入手机QQ空间网址z.qq.co...
- 笔记本电脑开机密码怎么关闭
-
1、用户账户密码取消 取消用户账户密码的方法比较简单,在“控制面板”中的“用户账户”中,选择你要修改的账户,然后点“删除我的密码”的选项,选择“删除密码”即可,也可以在选择更改密码时,把新密码留空,...
- 鼠标usb设备无法识别(鼠标usb设备无法识别win10)
-
1.前置USB线接错。当主板上的USB线和机箱上的前置USB接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁。所以尽量采用机箱后置的USB接口,也少...
-
- 腾讯游戏实名认证中心官网(腾讯游戏实名制平台)
-
腾讯游戏实名认证非常的简单,首先,打开腾讯游戏实名注册网址:jkyx.qq.com打开jkyx.qq.com,登陆你的QQ账号,如果你的QQ账号已经实名注册了,该网站就能看到已注册的信息的。如果还未实名注册的玩家,就可以在该网站按照要求填...
-
2025-12-24 19:03 off999
- 电脑城照片(电脑照的相片在哪里找)
-
开平的电脑城在市府文化广场旁边那条桥的桥头(光明路),美媛电脑城,不过好像很破烂,此外曙光路很多电脑店。有三家电子/电脑城,其中最大两家在107国道沙井上南加油站路段两旁,那里有很多电子零件和电脑...
- kali linux安装教程(kali linux最新版安装教程)
-
KaliLinux官方正确安装方法为先从官网下载最新版本的ISO镜像文件,然后使用软件如Rufus将ISO文件写入U盘或DVD,接着在计算机启动时选择U盘或DVD作为启动设备,进入KaliLinu...
- asus电脑开不了机怎么办(华硕电脑开不机怎么办)
-
1、检查电源和电源适配器如果华硕笔记本无法开机,首先要排查电源和电源适配器是否正常工作。可以检查电源适配器是否插紧,是否有松动或断裂。另外,可以更换电源适配器或更换电池,看是否可以开机。2、检查硬件连...
- bios硬盘启动项是哪个(电脑bios硬盘启动)
-
1、开机按F2(具体按键看开机屏幕提示)进入BIOS系统,打开Boot选项卡;2、在Boot页面下找到IDE1,一般这个表示的就是电脑硬盘,按键盘上的F6将该启动项向上移至第一位,也就是将硬盘设为第一...
- 虚拟机ubuntu安装教程(ubuntu 虚拟机安装)
-
在虚拟机Ubuntu下安装MATLAB的步骤如下:1.下载MATLAB安装包:访问MATLAB官网,选择适合你的Ubuntu版本的MATLAB安装包,并下载到本地计算机。2.安装虚拟机软件:在Ub...
- bootmgrismissing开机不了怎么办
-
你是不是没打全?大概意思就是启动的东西缺失!重装系统或者是补充装修复系统引导bootmgr丢失无法开机的解决方法:1、重新启动计算机,如果遇到“BOOTMGRismissing”错误,可以尝试的第...
- 手机上怎么改路由器密码(手机上怎么改路由器密码wifi密码)
-
输入地址打开手机浏览器后在地址栏输入路由器地址,打开路由器登录界面。2/4点击常用设置输入路由器管理员密码后进入路由器主界面,点击上方的常用设置。3/4找到密码在窗口中分别找到2.4G和5Gwifi...
- windowsserver2016(windowsserver2016激活密钥)
-
WindowsServer2016代表着微软发布的一款服务器操作系统。它是2016年推出的,为企业提供了强大的功能和稳定性,支持大规模的数据中心和云计算环境。WindowsServer2016...
- 联想手机官网查询真伪入口(联想手机正品查询)
-
官方查询页面http://support1.lenovo.com.cn/lenovo/wsi/我认为联想本本一旦出厂就自然就可以查询号码了。因为我们单位订购的一批联想本本,直接从上海生产基地把本本...
- 中国电信官方测网速(网络测速 中国电信)
-
你好,你可以下载一个第三方软件进行测速,如果你手机自带测速软件直接可以测速的,也可以下载电信测速软件。1.进入中国电信官方测速网站。 说明:中国电信宽带测速是根据网络行业网速标准制定的专业测速工具,...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
