编程小白冲Kaggle每日打卡(5)--kaggle学堂:<Python>Hello,Python!

Kaggle课程官方链接:Hello, Python

本专栏旨在Kaggle官方课程的汉化,让大家更方便地看懂。

Hello,Python

Python语法、变量赋值和数字的快速介绍

本课程涵盖了您需要的关键Python技能,以便您可以开始将Python用于数据科学。这门课程非常适合那些有一些编程经验的人,他们想把Python添加到他们的技能库中。(如果你是第一次编程,我们鼓励你查看我们的编程入门课程,该课程专为希望开始使用Python的完全初学者而设计。)

我们将从Python语法、变量赋值和算术运算符的简要概述开始。

Hello, Python!

Python是以英国喜剧团Monty Python命名的,所以我们将制作我们的第一个Python程序来向他们关于垃圾邮件的短剧致敬。

只是为了好玩,试着阅读下面的代码,并预测它在运行时会做什么。(如果你不知道,那很好!)

spam_amount = 0
print(spam_amount)

# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4

if spam_amount > 0:
    print("But I don't want ANY spam!")

viking_song = "Spam " * spam_amount
print(viking_song)
0
But I don't want ANY spam!
Spam Spam Spam Spam 

这个程序演示了Python代码的许多重要方面,以及它是如何工作的。让我们自上而下地查看代码。

spam_amount = 0

变量赋值:在这里,我们创建了一个名为spam_amount的变量,并使用=将其赋值为0,这被称为赋值运算符。

注意:如果你用某些其他语言(如Java或C++)编程,你可能会注意到Python在这里不需要我们做的一些事情:

  • 在分配spam_amount之前,我们不需要“声明”它
  • 我们不需要告诉Python spam_amount将引用哪种类型的值。事实上,我们甚至可以继续重新分配spam_amounts来引用不同类型的东西,比如字符串或布尔值。
print(spam_amount)

0

函数调用:.print是一个Python函数,它在屏幕上显示传递给它的值。我们调用函数的方法是在函数名后面加上括号,然后将函数的输入(或参数)放在括号中。

# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4

上面的第一行是评论。在Python中,注释以#符号开头。

接下来,我们将看到一个重新分配的示例。重新分配现有变量的值看起来与创建变量完全一样——它仍然使用=赋值运算符。

在这种情况下,我们为spam_amount分配的值涉及对其先前值的一些简单算术运算。当遇到此行时,Python会计算=(0+4=4)右侧的表达式,然后将该值赋给左侧的变量。

if spam_amount > 0:
    print("But I don't want ANY spam!")

viking_song = "Spam Spam Spam"
print(viking_song)
But I don't want ANY spam!
Spam Spam Spam

稍后我们不会过多讨论“条件语句”,但是,即使你以前从未编码过,你也可能猜到它的作用。Python因其可读性和简单性而备受推崇。

请注意我们是如何指示哪个代码属于if的。

“但我不想要任何垃圾邮件!”只有在spam_amount为正时才应该打印出来。

但无论发生什么,都应该执行后面的代码(如print(viking_song))。

我们(和Python)是如何知道这一点的?

if行末尾的冒号(:)表示新的代码块正在开始。缩进的后续行是该代码块的一部分。

注意:如果你以前编码过,你可能知道其他一些语言使用{花括号}来标记代码块的开始和结束。Python使用有意义的空格可能会让习惯于其他语言的程序员感到惊讶,但在实践中,它可以比不强制缩进代码块的语言产生更一致和可读的代码。

后面处理viking_song的行没有额外缩进4个空格,因此它们不是if代码块的一部分。

稍后,当我们定义函数和使用循环时,我们将看到更多缩进代码块的示例。

这段代码也是我们在Python中第一次看到字符串:

"But I don't want ANY spam!"

字符串可以用双引号或单引号标记。(但是,由于这个特定的字符串包含一个单引号字符,除非我们小心,否则我们可能会试图用单引号将其括起来,从而混淆Python。)

viking_song = "Spam " * spam_amount
print(viking_song)
Spam Spam Spam Spam 

*运算符可用于将两个数字相乘(3*3的结果为9),但我们也可以将字符串乘以一个数字,得到一个重复了那么多次的版本。Python提供了许多像这样厚颜无耻的节省时间的小技巧,其中像*和+这样的运算符根据它们应用于的对象而具有不同的含义。(技术术语是运算符重载。)

Numbers and arithmetic in Python

我们已经看到了一个包含上述数字的变量示例:

spam_amount = 0

“Number”是一个很好的非正式名称,但如果我们想更具技术性,我们可以问Python它将如何描述spam_amount是什么类型的东西:

type(spam_amount)
int

它是整数的int缩写。还有一种我们在Python中经常遇到的数字:

type(19.95)
float

浮点数是一个有小数点的数字,对于表示权重或比例等非常有用。

type()是我们看到的第二个内置函数(在print()之后),也是另一个值得记住的函数。

能够问Python“这是什么东西?”是非常有用的。

对数字做一件自然的事情就是执行算术。我们已经看到了加法的+运算符和乘法的*运算符。

Python还涵盖了计算器上其余的基本按钮:

Operator Name Description
a + b Addition Sum of a and b
a - b Subtraction Difference of a and b
a * b Multiplication Product of a and b
a / b True division Quotient of a and b
a // b Floor division Quotient of a and b, removing fractional parts
a % b Modulus Integer remainder after division of a by b
a ** b Exponentiation a raised to the power of b
-a Negation The negative of a

这里有一个有趣的观察结果,虽然你的计算器可能只有一个除法按钮,但Python可以做两种。

“真正的除法”基本上就是你的计算器所做的:

print(5 / 2)
print(6 / 2)
2.5
3.0

它总是给我们一个浮动。

//运算符给我们一个四舍五入到下一个整数的结果。

print(5 // 2)
print(6 // 2)
2
3

你能想到这在哪里有用吗?你很快就会在编码挑战中看到一个例子。

Order of operations

我们在小学学的算术对运算的求值顺序有约定。

有些人用助记符记住这些,如PEMDAS-括号、指数、乘法/除法、加法/减法。

Python遵循类似的规则,即首先执行哪些计算。它们大多非常直观。

8 - 3 + 2

7

-3 + 4 * 2

5

有时默认的操作顺序不是我们想要的:

hat_height_cm = 25
my_height_cm = 190
# How tall am I, in meters, when wearing my hat?
total_height_meters = hat_height_cm + my_height_cm / 100
print("Height in meters =", total_height_meters, "?")
Height in meters = 26.9 ?

括号在这里很有用。你可以添加它们来强制Python以你想要的任何顺序计算子表达式。

total_height_meters = (hat_height_cm + my_height_cm) / 100
print("Height in meters =", total_height_meters)
Height in meters = 2.15

Builtin functions for working with numbers

min和max分别返回其参数的最小值和最大值。。。

print(min(1, 2, 3))
print(max(1, 2, 3))
1
3

abs返回参数的绝对值:

print(abs(32))
print(abs(-32))

32

32

除了作为Python两种主要数值类型的名称外,int和float也可以被称为将其参数转换为相应类型的函数:

print(float(10))
print(int(3.33))
# They can even be called on strings!
print(int('807') + 1)
10.0
3
808

Your Turn

现在是你的机会。试试你的第一个Python编程练习!

你可能感兴趣的:(编程小白冲Kaggle每日打卡,python,机器学习,深度学习)