1、你好世界!(Hello World!)
如果编程是教导计算机与用户进行对话的行为,那么首先教计算机如何说话是最有用的。在 Python 中,这是通过 print 语句完成的。
1
2print "Hello, world!"
print "Wether you think you can or can't, etherway you are right!"
print 方法是让你的 Python 程序与您沟通的最简单的方法。能够指挥这种沟通将是您的编程工具箱中最有价值的工具之一。
2、打印语句(Print Statements)
有两个不同的 Python 版本。Python 2 和 Python 3 都在全球范围内使用。两者之间最显著的区别在于你如何撰写 print 语法。在 Python 3 中,print 有括号。
1
2print("Hello World!")
print("Deep into distant woodlands winds a mazy way, reaching to overlapping spurs of mountains bathed in their hill-side blue.")
在本课程中,我们将使用Python 2.如果继续编写Python 3,注意这个关键区别将很有用。
3、字符串(Strings)
当用Python打印东西时,我们提供了一个我们想要打印的文本块。Python中的文本被认为是称为字符串的特定类型的数据。一个字符串,如此命名是因为它们是按顺序连接的一系列字母,数字或符号 - 就像通过字符串串联在一起。字符串可以用不同的方式定义
1
2print "This is a good string"
print 'You can use single quotes or double quotes for a string'
上面我们打印了两个字符串,然后试图打印两个不是字符串的东西。尽管双引号(“)和单引号(’)都是定义字符串的可接受方式,但字符串需要用相同类型的引号标记来打开和关闭。
我们可以使用多个字符串+,如下所示:
1print "This is " + "a good string"
此代码将打印出“This is a good string”。
4、处理错误(Handing Errors)
随着我们对Python编程语言更加熟悉,我们遇到了错误和异常。这些是Python在不了解你想要做什么时所做的投诉。每个人都会遇到这些问题,因此阅读和理解它们是一种好习惯。以下是打印字符串时可能遇到的一些常见错误:
1
2print "Mismatched quotes will cause a SyntaxError'
print Without quotes will cause a NameError
如果引号不匹配,Python会注意到这一点,并通知您,您的代码在其语法中存在错误,因为该行在EOL应该关闭该字符串的双引号出现之前结束(称为an )。该程序将突然停止运行,并显示以下消息:
SyntaxError: EOL while scanning a string literal
这意味着一个字符串没有关闭,或者没有用启动它的相同引号来关闭。
你可能遇到的另一个问题是试图创建一个没有引号的字符串。Python不会将引号中的单词当作命令来对待,如print语句。如果它无法识别这些单词(在Python中或通过其他地方的程序),Python会抱怨代码中有一个NameError。这意味着Python找到了它认为是一个命令,但不知道它是什么意思,因为它没有在任何地方定义。
5、变量(Variables)
在Python中,以及一般编程时,我们需要构建用于处理随时间变化的数据的系统。这些数据可能是飞机的位置,或一天中的时间,或者您当前正在观看的电视节目。唯一重要的是,它可能在不同的时间有所不同。Python使用变量来定义可能会发生变化的事物。
1
2greeting_message = "Welcome to Codecademy!"
current_excercise = 5
在上面的例子中,我们定义了一个变量greeting_message,并将其设置为等于字符串“Welcome to Codecademy!”。它还定义了一个变量current_exercise,并将其设置为等于5。
6、运算(Arithmetic)
计算机能够做得非常好的一件事是执行算术。加法,减法,乘法,除法和其他数值计算在大多数编程语言中都很容易实现,Python也不例外。一些例子:
1
2
3
4
5mirthful_addition = 12381 + 91817
amazing_subtraction = 981 - 312
trippy_multiplication = 38 * 902
happy_division = 540 / 45
sassy_combinations = 129 * 1345 + 120 / 6 - 12
上面是一些算术运算,每个运算都分配给一个变量。该变量将保存每个操作的最终结果。算术操作符的组合遵循通常的操作顺序。
Python还提供了一个叫做模运算符的分支。模运算符由%分割后的余数表示并返回。
1
2is_this_number_odd = 15 % 2
is_this_number_divisible_by_seven = 133 % 7
在上面的代码块中,我们使用模运算符来查找15除以的剩余部分2。因为15其余的是奇数1。
我们也检查剩下的133 / 7。由于133除以7没有余数,133 % 7评估为0。
7、更新变量(Updating Variables)
改变变量的内容是基本操作之一。随着程序流程的进展,数据应该更新以反映已经发生的变化。
1
2
3
4
5
6fish_in_clarks_pond = 50
print "Catching fish"
number_of_fish_caught = 10
fish_in_clarks_pond = fish_in_clarks_pond - number_of_fish_caught
在上面的例子中,我们从当地池塘中的50条鱼开始。捕捉10条鱼后,我们更新池塘中鱼的数量为池中鱼的原始数量减去捕获的鱼的数量。在这个代码块的末尾,变量fish_in_clarks_pond等于40。
通过向变量的原始内容添加或减去数字来更新变量具有其自己的速记,以使其更快且更易于阅读。
1
2
3
4
5
6money_in_wallet = 40
sandwich_price = 7.50
sales_tax = .08 * sandwich_price
sandwich_price += sales_tax
money_in_wallet -= sandwich_price
在上面的例子中,我们使用三明治的价格来计算销售税。计算完税后,我们将其添加到三明治的总价中。最后,我们通过减少money_in_wallet三明治的成本(含税)来完成交易。
8、注释(Comments)
大多数情况下,代码的编写方式应该很容易理解。但是,如果您想包含一段信息来解释代码的一部分,则可以使用该#符号。前面有一行文字#称为评论。机器不运行这个代码 - 它只是供人类阅读。当你稍后回顾你的代码时,评论可能会帮助你弄清楚它打算做什么。
1
2row_count = 13
9、数字(Numbers)
变量也可以保存数值。Python中最简单的数字是整数,它是一个没有小数点的整数:
1
2
3int1 = 1
int2 = 10
int3 = -5
带小数点的数字称为浮点数。您可以在小数点后面使用数字定义浮点数,或者在末尾添加小数点:
1
2
3float1 = 1.0
float2 = 10.
float3 = -5.5
您还可以使用科学记数法定义浮点数,并e指示10的权:
1
2# this evaluates to 150:
float4 = 1.5e2
10、两种类型的除法(Tow Types of Division)
在Python 2中,当我们分割两个整数时,我们得到一个整数。当商是一个整数时,一切正常:
1
2quotient = 6/2
# the value of quotient is now 3, which makes sense
但是,如果数字不能均匀分割,则除法结果将被截断为整数。换句话说,商被四舍五入为整数。当您希望收到一个小数并且您收到一个向下舍入的整数时,这可能会令人惊讶:
1
2quotient = 7/2
# quotient 的值为 3,即使实际中应该是 3.5 才对
为了产生一个浮点数作为结果,程序员经常改变分子或分母(或两者)为浮点数:
1
2
3
4
5
6quotient1 = 7./2
# the value of quotient1 is 3.5
quotient2 = 7/2.
# the value of quotient2 is 3.5
quotient3 = 7./2.
# the value of quotient3 is 3.5
11、多行字符串(Multi-line Strings)
我们已经知道了如何使用单引号及双引号来声明一个字符串,如果我们想把一个字符串分成多行,我们也可以用三引号:
1
2
3address_string = """136 Whowho Rd
Apt 7
Whosville, WZ 44494"""
如上地址被分成多行,但它仍然包含在 address_string 这一个变量中。
当一个字符串如下所示没有被分配到变量时,它将被视为一个多行注释,这有助于您的代码变得更加复杂:
1
2
3
4
5
6"""The following piece of code does the following steps:
takes in some input
does An Important Calculation
returns the modified input and a string that says "Success!" or "Failure..."
"""
a complicated piece of code here...
12、布尔值(Booleans)
有时候我们需要变量来表示真或者假,这种我们永远只能二选一的变量类型就叫做布尔值(boolen),在 Python 中,我们使用关键字 True 和 False 来定义一个布尔值:
1
2a = True
b = False
布尔实际上是一种特殊的整型,Ture 相当于整型 1,并且表现相同。False 相当于整型 0。
13、值异常(ValueError)
Python会根据给定的值自动为变量分配合适的数据类型。一个变量的值7是一个整数,7.是一个浮点数,”7”是一个字符串。有时我们会想要将变量转换为不同的数据类型。例如,如果我们想打印出一个整数作为字符串的一部分,我们希望首先将该整数转换为一个字符串。我们可以这样做str():
1
2age = 13
print "I am " + str(age) + " years old!"
这将打印:
>>> "I am 13 years old!"
同样,如果我们有一个字符串,”7”并且我们想对它执行算术运算,我们必须将它转换为数字数据类型。我们可以这样做int():
1
2
3
4
5
6
7
8number1 = "100"
number2 = "10"
string_addition = number1 + number2
#string_addition now has a value of "10010"
int_addition = int(number1) + int(number2)
#int_addition has a value of 110
如果您使用int()浮点数,它会将数字向下舍入。要保留小数点,您可以使用float():
1
2
3string_num = "7.5"
print int(string_num)
print float(string_num)
>>> 7
>>> 7.5