首页 > 语言 > 关键词 > Python基础教程最新资讯 > 正文

快速入门:十分钟学会Python

2015-09-30 11:46 · 稿源:JobBole.com

【感谢@刘见康 的翻译,@熊崽Kevin 校稿。如果其他朋友也有不错的原创或译文,可以尝试投递到伯乐头条。】

初试牛刀

假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念。很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的。在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分非Python语言的相关内容。本文将高亮显示重要的关键字,以便你可以很容易看到它们。另外需要注意的是,由于本教程篇幅有限,有很多内容我会直接使用代码来说明加以少许注释。

Python的语言特性

Python是一门具有强类型(即变量类型是强制要求的)、动态性、隐式类型(不需要做变量声明)、大小写敏感(var和VAR代表了不同的变量)以及面向对象(一切皆为对象)等特点的编程语言。

获取帮助

你可以很容易的通过Python解释器获取帮助。如果你想知道一个对象(object)是如何工作的,那么你所需要做的就是调用help(

1
2
3
4
5
6
7
8
9
10
11
>>> help(5)
Help on int object:
(etc etc)
 
>>> dir(5)
['__abs__', '__add__', ...]
 
>>> abs.__doc__
'abs(number) -> number
 
Return the absolute value of the argument.'

语法

Python中没有强制的语句终止字符,且代码块是通过缩进来指示的。缩进表示一个代码块的开始,逆缩进则表示一个代码块的结束。声明以冒号(:)字符结束,并且开启一个缩进级别。单行注释以井号字符(#)开头,多行注释则以多行字符串的形式出现。赋值(事实上是将对象绑定到名字)通过等号(“=”)实现,双等号(“==”)用于相等判断,”+=”和”-=”用于增加/减少运算(由符号右边的值确定增加/减少的值)。这适用于许多数据类型,包括字符串。你也可以在一行上使用多个变量。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> myvar = 3
>>> myvar += 2
>>> myvar
5
>>> myvar -= 1
>>> myvar
4
"""This is a multiline comment.
The following lines concatenate the two strings."""
>>> mystring = "Hello"
>>> mystring += " world."
>>> print mystring
Hello world.
# This swaps the variables in one line(!).
# It doesn't violate strong typing because values aren't
# actually being assigned, but new objects are bound to
# the old names.
>>> myvar, mystring = mystring, myvar

数据类型

Python具有列表(list)、元组(tuple)和字典(dictionaries)三种基本的数据结构,而集合(sets)则包含在集合库中(但从Python2.5版本开始正式成为Python内建类型)。列表的特点跟一维数组类似(当然你也可以创建类似多维数组的“列表的列表”),字典则是具有关联关系的数组(通常也叫做哈希表),而元组则是不可变的一维数组(Python中“数组”可以包含任何类型的元素,这样你就可以使用混合元素,例如整数、字符串或是嵌套包含列表、字典或元组)。数组中第一个元素索引值(下标)为0,使用负数索引值能够从后向前访问数组元素,-1表示最后一个元素。数组元素还能指向函数。来看下面的用法:

1
2
3
4
5
6
7
8
9
10
>>> sample = [1, ["another", "list"], ("a", "tuple")]
>>> mylist = ["List item 1", 2, 3.14]
>>> mylist[0] = "List item 1 again" # We're changing the item.
>>> mylist[-1] = 3.21 # Here, we refer to the last item.
>>> mydict = {"Key 1": "Value 1", 2: 3, "pi": 3.14}
>>> mydict["pi"] = 3.15 # This is how you change dictionary values.
>>> mytuple = (1, 2, 3)
>>> myfunction = len
>>> print myfunction(mylist)
3

你可以使用:运算符访问数组中的某一段,如果:左边为空则表示从第一个元素开始,同理:右边为空则表示到最后一个元素结束。负数索引则表示从后向前数的位置(-1是最后一个项目),例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> mylist = ["List item 1", 2, 3.14]
>>> print mylist[:]
['List item 1', 2, 3.1400000000000001]
>>> print mylist[0:2]
['List item 1', 2]
>>> print mylist[-3:-1]
['List item 1', 2]
>>> print mylist[1:]
[2, 3.14]
# Adding a third parameter, "step" will have Python step in
# N item increments, rather than 1.
# E.g., this will return the first item, then go to the third and
# return that (so, items 0 and 2 in 0-indexing).
>>> print mylist[::2]
['List item 1', 3.14]

字符串

Python中的字符串使用单引号(‘)或是双引号(“)来进行标示,并且你还能够在通过某一种标示的字符串中使用另外一种标示符(例如 “He said ‘hello’.”)。而多行字符串可以通过三个连续的单引号(”’)或是双引号(“”")来进行标示。Python可以通过u”This is a unicode string”这样的语法使用Unicode字符串。如果想通过变量来填充字符串,那么可以使用取模运算符(%)和一个元组。使用方式是在目标字符串中从左至右使用%s来指代变量的位置,或者使用字典来代替,示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>>print "Name: %s\
Number: %s\
String: %s" % (myclass.name, 3, 3 * "-")
Name: Poromenos
Number: 3
String: ---
 
strString = """This is
a multiline
string."""
 
# WARNING: Watch out for the trailing s in "%(key)s".
>>> print "This %(verb)s a %(noun)s." % {"noun": "test", "verb": "is"}
This is a test.

流程控制

Python中可以使用if、for和while来实现流程控制。Python中并没有select,取而代之使用if来实现。使用for来枚举列表中的元素。如果希望生成一个由数字组成的列表,则可以使用range()函数。以下是这些声明的语法示例:

声明的语法示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
rangelist = range(10)
>>> print rangelist
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in rangelist:
    # Check if number is one of
    # the numbers in the tuple.
    if number in (3, 4, 7, 9):
        # "Break" terminates a for without
        # executing the "else" clause.
        break
    else:
        # "Continue" starts the next iteration
        # of the loop. It's rather useless here,
        # as it's the last statement of the loop.
        continue
else:
    # The "else" clause is optional and is
    # executed only if the loop didn't "break".
    pass # Do nothing
 
if rangelist[1] == 2:
    print "The second item (lists are 0-based) is 2"
elif rangelist[1] == 3:
    print "The second item (lists are 0-based) is 3"
else:
    print "Dunno"
 
while rangelist[1] == 1:
    pass

函数

函数通过“def”关键字进行声明。可选参数以集合的方式出现在函数声明中并紧跟着必选参数,可选参数可以在函数声明中被赋予一个默认值。已命名的参数需要赋值。函数可以返回一个元组(使用元组拆包可以有效返回多个值)。Lambda函数是由一个单独的语句组成的特殊函数,参数通过引用进行传递,但对于不可变类型(例如元组,整数,字符串等)则不能够被改变。这是因为只传递了该变量的内存地址,并且只有丢弃了旧的对象后,变量才能绑定一个对象,所以不可变类型是被替换而不是改变(译者注:虽然Python传递的参数形式本质上是引用传递,但是会产生值传递的效果)。例如:

# 作用等同于 def funcvar(x): return x + 1
funcvar = lambda x: x + 1
>>> print funcvar(1)
2
 
# an_int 和 a_string 是可选参数,它们有默认值
# 如果调用 passing_example 时只指定一个参数,那么 an_int 缺省为 2 ,a_string 缺省为 A default string。如果调用 passing_example 时指定了前面两个参数,a_string 仍缺省为 A default string。
# a_list 是必备参数,因为它没有指定缺省值。
def passing_example(a_list, an_int=2, a_string="A default string"):
    a_list.append("A new item")
    an_int = 4
    return a_list, an_int, a_string
 
>>> my_list = [1, 2, 3]
>>> my_int = 10
>>> print passing_example(my_list, my_int)
([1, 2, 3, 'A new item'], 4, "A default string")
>>> my_list
[1, 2, 3, 'A new item']
>>> my_int
10

网友热搜:

  • 相关推荐
  • 大家在看
  • Python取代Excel?风变编程带你了解如何更好地学Python!

    当前最简单、最流行的编程语言是什么?是Python。最近,谷歌公布的编程语言流行指数显示,Python目前仍然是全球范围内最受欢迎的技术语言。而得益于简洁、易读、易维护等特点,Python可广泛运用于数据分析、人工智能、爬虫、运维、测试、图像识别、机器学习等领域,在日常数据分析方面,甚至已有“Python取代Excel”的说法。那么,Python是否真的有这么牛?接下来,风变编程就带你了解一波。“Python已经取代了Excel”今年3月,日?

  • 云计算开发学习笔记:Python3注释

    <p>大家在学习各种编程语言的时候都会在代码里面添加一些注释,这个也是为了方便日后对代码的查找和修改,各种编程语言的注释方式略有不同,Python3语言也一样有自己的注释方式,下面我们来了解一下都有哪几种。</p><p>确保对模块

  • 云计算开发学习笔记:Python3运算符

    首先我们来了解下什么是Python的运算符? 举个简单的例子 3+6=9 。例子中,3和6被称为操作数,"+" 称为运算符。Python中的运算符大部分与C语言的类似,但也有很多不同的地方。这里就大概地罗列一下Python3中的运算符。Python语言支持的运算符类型有以下几种:算术运算符,比较运算符,赋值运算符,逻辑运算符,位运算符,成员运算符,身份运算符,运算符优先级。Python算术运算符以下假设变量a为10,变量b为21:Python比

  • Python 和 Go 成为年度最受欢迎的黑客工具榜首

    网络安全公司 Imperva Cloud WAF 近期分享了其在 2019 年一年内针对网络安全事件的观察。对数据进行聚类分析后,他们得到了如下结论:

  • 云计算开发学习笔记:Python3身份运算符实例

    身份运算符用于比较两个对象的内存地址是否一致,是否是对同一个对象的引用。注: id() 函数用于获取对象内存地址。以下实例演示了Python所有身份运算符的操作:以上实例输出结果:解析:身份运算符is 用于判断两个变量引用对象是否为同一个(同一块内存空间),比较运算符的 == 用于判断引用变量的值是否相等。以上内容为Python3身份运算符实例。

  • 云计算开发学习笔记:Python3位运算符实例

    在Python中,位运算符包括位与(&)、位或(|)、位求反(~)、位异或(^)、左移位()。Python中的按位运算法则如下:下表中变量 a 为 60,b 为 13二进制格式如下:在了解了位运算符后,再来看看实例演示中Python所有位运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:位运算符只能适用于整数,其总体运算规则为:首先把整数转换为二进制表示形式,按最低位对齐,短的高位补0,然?

  • 报告:JavaScript为最常用整体编程语言 Python超过Java

    在过去的 12 个月中,Python在使用的编程语言列表中已经超过了Java,它也是被研究最多的语言。报告称,在过去的 12 个月里,30%的受访者开始或继续学习Python,甚至比去年还要多。

  • 云计算开发学习笔记:Python3逻辑运算符实例

    Python逻辑运算符由and or not组成,按照优先级依次为:() not and or。首先假设变量 a 为 10,b为 20,看下表:在了解了逻辑运算符后,再来看看实例演示中Python所有逻辑运算符的操作:输出结果如下图:了解更多可以查看Python3全部的运算符《Python3运算符》。解析:按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先

  • Java已被超越?Python当道,风变编程带你化身编程高手

    在程序员中,一直流传着“Python除了不会生孩子,什么都会”的传说。作为人工智能时代最重要的脚本语言之一,Python现在已经逐步占领统计学、机器学习、爬虫、图形处理、软件和游戏开发、人工智能等多个领域,且都有突出表现。可以说,在众多编程语言中,python如今已经杀出重围,从容超越Java和Javascript,化身程序员必备的编程利器之一。目前,国内外许多公司都已使用Python,如:YouTube、豆瓣、知乎、Google、百度、腾讯、美?

  • 做客李晨nic淘宝直播 胡海泉胡彦斌带货开课吧Python

    自李佳琦、薇娅掀起直播带货浪潮后,当红明星、商界巨头等各路大咖纷纷走进直播间做“带货网红”。2020年是直播电商全面崛起之年,越来越多的企业踏入了直播营销这个新阵营,今年本就发展迅猛的在线教育行业自然也紧跟趋势。5月30日,开课吧Python小课陈列在李晨nic淘宝直播间中,与Vipkid、元气森林、御泥坊等品牌产品一起展出供售。当晚,慧科集团董事长、开课吧总裁方业昌博士做客李晨直播间,二胡组合胡彦斌和胡海泉也前来助阵,力推职

  • 周鸿祎调侃潘石屹学python:他写的估计一百行里有十个漏洞

    在 6 月 20 日极客公园联合bilibili举办的Rebuild2020的对话中,360董事长周鸿祎谈到漏洞不可避免的原因称,一是人写代码的技术漏洞,二是违背安全规则的人性漏洞。

  • “Python之窗”百家号有什么作用?企业品牌必须知道的推广渠道

    备注:本文数据来自站长之家移动传媒平台,文章涉及的数据依托平台大数据计算所得,非百度官方数据,仅供参考。Python之窗是当前百家号中的普通号,目前账号百家号权重为2,综合排名位列784779名,科技分类排名位列36763名,领先了29.7%的百家号。 Python之窗百家号概况 Python之窗的简介为专注于Python相关知识分享,是一家主旨明确、领域专注的自媒体作者,截止目前为止他们已经在百家号上发布了超过7篇的游戏内容,最近该作者创

  • TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!

    近十年来,Stack Overflow的年度开发者调查问卷被誉为全球范围内最大的开发者调查。为了寻求多样化的代表,Stack Overflow的官方将调查问卷从技术和行为等方面提出了各类问题,希望收集的信息能够帮助改善Stack Overflow开发者的社区。

  • TheShy正式入驻快手 theshy快手账号是多少

    6月10日,IG战队正式宣布上单选手TheShy入驻快手,同时也公布了theshy在快手平台的账号ID,对于喜欢theshy的选手,可以前往快手来关注他的动态啦。

  • GitHub今日的宕机事件影响数千名软件开发者

    今天上午,GitHub发生服务瘫痪的情况,对于数千名软件开发者来说是一个灾难。这家微软旗下的服务通过Git提供版本控制,并为软件开发提供托管的重要服务宕机一个多小时。故障表现在GitHub用户在登录该服务时出现了错误,一些用户甚至无法使用他们的集成开发环境(IDE),因为软件开发环境与该服务的联系非常紧密。

  • GitHub将替换master、slave等术语 反对种族歧视

    DoNews 6月15日消息(记者 刘文轩)GitHub CEO Nat Friedman在Twitter表示,GitHub将使用中性词如“main”去替换“master”这个让人联想到奴隶制的术语。GitHub 成为最新一个支持移除可能冒犯部分群体的术语的公司。包括“master”和“slave”将被替换为“main/default/primary”和“secondary”,“whitelist”和“blacklist”将被替换为“allow list”和“deny/exclude list”。最近几周,由于“Black Lives Matter”的抗议活动?

  • 欧科云链OKLink行业观察:ETH矿工或将开启大迁徙

    6 月 23 日,以太坊官方博客更新其开发进度,Altona v0.12 测试网预计将在下周启动。这也就意味着,在经过探讨和不断的改进后,以太坊开发团队终于将启动第一个公开的、多客户端测试网络。 与目前的多客户端测试网类似,Altona更像是一个开发者网络,而不是一个以终端用户为中心的测试网。也就是说,Altona首先是让客户端团队在产品设置中检查v0. 12 软件,同时让ETH2. 0 开发者作为一个整体来解决可能只在多客户端设置中出现的bu

  • GitHub将替换掉 master 等术语 以避免联想到奴隶制

    近日代码托管平台GitHub CEO Nat Friedman公开表示,该公司将使用中性词如“main”替换“master”一词,避免让人联想到奴隶制的术语。

  • 通过这个方法,他3个月内从GitHub赚了56万元

    Caleb Porzio(卡莱布·波齐奥)是一名开发人员,曾在一家名为Tighten的软件公司就职。当时,波齐奥的年收入约为 9 万美元:开发人员的薪水变化非常大,但波齐奥的年收入基本稳定在 9 万美元左右,再加上他妻子的收入和一些额外的收入,存一笔钱以备不时之需已经足够。

  • OKEx早报:西班牙银行开始“冻卡”,ETH 手续费事件“破案”

    OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。行情速递6月18日讯,昨日晚间BTC出现一轮下滑幅度接近200美元,通过OKEx平台交易数据可以看出,BTC今日开盘报9384.31美元,开盘后横盘整理,至3:25开始出现下滑,4:05时到达早间最低点9232.53美元,随后出现反弹行情,至7:45触及早间高点9461.87美元,截止发稿BTC报9423.58美元。图片来源:OKEx平

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议