1.Hello,Python

本文为Kaggle Learn的Python课程的中文翻译,原文链接为:https://www.kaggle.com/colinmorris/hello-python

欢迎来到Kaggle Learn的Python课程。本课程将介绍在开始使用Python进行数据科学之前需要的基本Python技能。这些课程针对那些具有一些编程经验的人,希望将Python添加到他们的项目中或提高他们的Python技能。 (如果你是第一次编程,你可能会发现这门课程节奏太快。你可以先看看这个:these "Python for Non-Programmers" learning resources

第一课将简要介绍Python语法,变量赋值和算术运算符。 如果之前有Python经验,您可能希望直接跳到练习。练习链接如下:https://www.kaggle.com/account/login?ReturnUrl=%2fkernels%2ffork%2f1275163

这些课程借鉴和改编来自A Whirlwind Tour of Python的一些内容。 感谢作者Jake VanderPlas在许可下发布它。 如果您对Python的更全面的理论基础感兴趣,我建议您查看WTOP。

Hello,Python!

Python是以英国喜剧团体Monty Python的名字命名的,那么为什么不让我们的第一个Python程序向他们著名Spam的短剧致敬呢?

只是为了好玩,尝试阅读下面的代码并预测运行时会发生什么。 (如果你不知道,那没关系!)

[1]

spam_amount = 0
print(spam_amount)# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4if 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代码的几个重要方面:它的语法、以及它的工作原理(它的语义)。 让我们从上到下运行代码。

[2]

spam_amount = 0

变量赋值!我们创建一个变量名为spam_amount,使用Python的赋值运算符“=”赋值为0。

注:如果您已经使用其他语言编程(如Java或C ++),您可能会注意到Python不需要我们做的一些事情:

  •          我们不需要在赋值之前声明spam_amount
  •          我们不需要告诉Python spam_amount属于什么类型。 实际上,我们甚至可以继续重新赋值spam_amount来引用不同类型的东西,比如字符串型或布尔型。

[3]

print(spam_amount)
0

一个函数调用。 print是一个非常有用的内置Python函数,它显示传递到屏幕上的值。 我们通过在函数名后面加上()来调用,并在其间输入参数。

[4]

# 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),然后将该值赋给左侧的变量。

[5]

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

我们会在后面再介绍条件语句,但是,即使你以前从未有过编程,你也可以猜到它的作用。 Python因其可读性和语法的简单性而备受推崇(有些人甚至将其称为“可执行伪代码”)。

请注意我们如何表示哪些代码属于if语句。 “But I don't want ANY spam!”仅当spam_amount为正数时才打印。但是后面的代码(比如print(viking_song))无论如何都会执行。我们(和Python)如何知道这一点?

if行末尾的冒号(:)表示新的“代码块”即将出现。缩进的后续行(以额外的4个空格开头)是该代码块部分。您可能熟悉使用花括号{}来标记代码块的开头和结尾。 Python对有意义的空白的使用通常对习惯于其他语言的程序员来说是令人惊讶的,但实际上它比不强制执行代码块缩进的语言更有一致性和可读性。

处理viking_song的后续行没有缩进额外的4个空格,因此它们不是if语句代码块的一部分。稍后当我们开始定义函数和使用循环时,我们将看到更多缩进代码块的示例。

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

"But I don't want ANY spam!"

字符串可以用双引号或单引号标记。 (但是因为这个特定的字符串包含单引号字符,所以当我们试图用单引号括起来,会容易变得混淆,除非我们很小心。)

[6]

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

星号*运算符可用于两个数字相乘(3 * 3的结果为9),但有趣的是,我们还可以将一个字符串乘以一个数字,以获得多次重复的版本。 Python提供了许多像这样节省时间的技巧,其中*和+运算符具有不同的含义,具体取决于它们应用于何种类型的东西。 (技术术语是运算符重载)。

Python中的数字和算术

上面我们已经看过一个包含数字变量的例子:

[7]

spam_amount = 0

“Number”是一个很好的非正式名称,但如果我们想要更具技术性,我们可以问Python怎样去描述spam_amount的类型:

[8]

type(spam_amount)
int

它是短整型int,在Python中我们还经常遇到另一种数字:

[9]

type(19.95)
float

float是一个带小数位的数字,对于表示权重或比例非常有用。

type()是我们见过的第二个内置函数(在print()之后),它是另一个值得记住的函数。 能够问Python“这是什么样的东西?”非常有用。

 我们已经看到+运算符用于加法,而*运算符用于乘法。 Python还为我们提供了计算器上其余基本按钮的功能:

OperatorNameDescription
a + bAdditionSum of a and b
a - bSubtractionDifference of a and b
a * bMultiplicationProduct of a and b
a / bTrue divisionQuotient of a and b
a // bFloor divisionQuotient of a and b, removing fractional parts
a % bModulusInteger remainder after division of a by b
a ** bExponentiationa raised to the power of b
-aNegationThe negative of a

这里有一个有趣的观察是,虽然你的计算器可能只有一个按钮用于除法,但Python可以做两种。 “True division /”基本上是你的计算器所做的:

[10]

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

得出的结果是浮点型。

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

[11]

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

你能想到这会有用吗? 您可能很快就会在编程问题中看到一个例子。

Order of operations

我们在小学学到了算数运算的顺序。 有些人通过诸如PEMDAS之类的助记符来记住这些: PEMDAS - Parentheses, Exponents, Multiplication/Division, Addition/Subtraction.

Python遵循类似规则。 他们大多非常直观。

[12]

8 - 3 + 27
-3 + 4 * 25

但有时默认的运算顺序不是我们希望的:

[13]

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以不同的顺序评估子表达式(或者只是为了使代码更易于阅读)。

[14]

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返回各自参数的最小和最大值...

[15]

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

abs返回绝对值:

[16]

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

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

[17]

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

Your turn!

转到练习笔记本,以获得一些使用语法,变量赋值和数字的实践练习。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【POJ - 1273】Drainage Ditches(网络流,最大流,模板)

题干: 现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量。 Input 输入包括几种情况。 对于每种情况,第一行包含两个空格分隔的整数,N&a…

计算机网络阶段,计算机网络的发展大致可分为四个阶段,目前人类进入了()。 - 问答库...

问题:[单选] 计算机网络的发展大致可分为四个阶段,目前人类进入了()。A . 计算机网络阶段B . 信息高速公路阶段C . 计算机网络互联阶段D . 远程终端联机阶段教育心理学是研究教育情境中学生学习的基本心理规律的科学。王林平时成绩一般,但总想…

2.Functions and Getting Help

Functions and Getting Help 在本课中,我们将讨论函数:调用它们,定义它们,并使用Python的内置文档查找它们。 在某些语言中,定义函数必须要有特定的参数,每个参数都具有特定类型。 Python函数允许更灵活。…

华人科学家量子计算机,华人科学家在美国研发出性能强大的光子计算机,能够与中国的量子计算机一战高下!...

原标题:华人科学家在美国研发出性能强大的光子计算机,能够与中国的量子计算机一战高下!在最近的《自然纳米技术》杂志上,一篇来自美国哥伦比亚大学的论文在业界掀起了轩然大波,一位名叫虞南方的物理学助理教授成功率领…

【BZOJ - 1001】狼抓兔子(无向图网络流,最小割,或平面图转对偶图求最短路SPFA)

题干: 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: …

3.Booleans and Conditionals

Booleans Python有bool类型数据&#xff0c;有两种取值&#xff1a;True 和 False. [1] x True print(x) print(type(x)) True <class bool> 我们通常从布尔运算符中获取布尔值&#xff0c;而不是直接在我们的代码中放入True或False。 这些是回答yes或no的运算符。…

能利用计算机来模拟某种真实的实验现象,自然现象或社会现象的课件是,《计算机辅助教学》课程复习资料...

考试资料《计算机辅助教学》课程复习资料一、单项选择题1. 教学软件又称为 A 。A.课件 B.多媒体 C.操作系统 D.应用软件2. 继课件之后的第二代教学软件称为 A 。A积件 B.课件 C.网络课件 D.智能型课件3. 建构主义学习理论强调认知主体是 B 。A. 教师 B. 学习者 C. 教务 D. 辅导…

【洛谷 - P3376 】【模板】网络最大流

题干&#xff1a; 如题&#xff0c;给出一个网络图&#xff0c;以及其源点和汇点&#xff0c;求出其网络最大流。 输入输出格式 输入格式&#xff1a; 第一行包含四个正整数N、M、S、T&#xff0c;分别表示点的个数、有向边的个数、源点序号、汇点序号。 接下来M行每行包含…

4.Lists

Lists Python中的列表表示有序的值。 可以使用方括号来定义&#xff0c;变量值之间用逗号隔开。 例如&#xff0c;这是几个素数的列表&#xff1a; [1] primes [2, 3, 5, 7] 我们可以将其他类型的东西放在列表中&#xff1a; [2] planets [Mercury, Venus, Earth, Mars…

怎么用计算机拟合数据,数据拟合的几个应用实例-毕业论文.doc

本科毕业设计(论文)数据拟合的几个使用实例燕 山 大 学年 月本科毕业设计(论文)数据拟合的几个使用实例学 院&#xff1a;专 业&#xff1a;学生姓名&#xff1a;学 号&#xff1a;指导教师&#xff1a;答辩日期&#xff1a;燕山大学毕业设计任务书学院&#xff1a; 系级教学单…

1.UNIX网络编程卷1:源码配置

本节主要介绍UNIX网络编程卷1&#xff08;第三版&#xff09;在Ubuntu16.04的配置问题&#xff0c;并运行一个简单时间获取客户程序。 1.首先下载源文件&#xff0c;链接如下&#xff1a;UNIX Network Programming Source Code 2.将下载好的压缩文件unpv13e.tar.gz解压&#…

【牛客 - 696C】小w的禁忌与小G的长诗(dp 或 推公式容斥)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/696/C 来源&#xff1a;牛客网 自从上次小w被奶牛踹了之后&#xff0c;就一直对此耿耿于怀。 于是"cow"成为了小w的禁忌&#xff0c;而长得和"cow"很像的"owc"…凡是…

html 地球大气,地球大气层为什么永远不会消失?

地球的大气层是一个很神奇的存在&#xff0c;几十亿年来&#xff0c;它就如同一层厚厚的保护膜&#xff0c;将地球与太空完全阻隔起来&#xff0c;正因为如此&#xff0c;地球上的生命才能够繁衍生息&#xff0c;代代相传。相信很多人都会有这样的疑问&#xff0c;为什么地球上…

5.Loops and List Comprehensions

Loops 循环是一种重复执行某些代码的方法。 [1] planets [Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune] for planet in planets:print(planet, end ) # print all on same line Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune 注意for循环…

【牛客 - 696D】小K的雕塑(dp,鸽巢原理,01背包类问题)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/696/D 来源&#xff1a;牛客网 小K有n个雕塑&#xff0c;每个雕塑上有一个整数 若集合T中的每一个元素在n个雕塑上都能找得到&#xff0c;则称这个集合为一个优秀的集合 小K想知道所有大小<k优秀…

计算机专业需要汇编语言,重点大学计算机专业系列教材·汇编语言程序设计

重点大学计算机专业系列教材汇编语言程序设计语音编辑锁定讨论上传视频本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01;《重点大学计算机专业系列教材汇编语言程序设计》是2009年10月1日清华大学出版社出版…

6.Strings and Dictionaries

目录 Strings 1. String syntax 2、Strings are sequences 3、String methods Strings Python语言真正发挥作用的一个地方是字符串的操作。 本节将介绍Python的一些内置字符串方法和格式化操作。 这种字符串操作模式经常出现在数据科学工作中&#xff0c;并且在这种情况下…

【LightOJ - 1123】Trail Maintenance(在线维护最小生成树,删边思维)

题干&#xff1a; Tigers in the Sunderbans wish to travel freely among the N fields (numbered from 1 to N), even though they are separated by trees. The tigers wish to maintain trails between pairs of fields so that they can travel from any field to any ot…

7.Working with External Libraries

在本课中&#xff0c;我将讨论Python中的imports&#xff0c;提供一些使用不熟悉的库&#xff08;以及它们返回的对象&#xff09;的技巧&#xff0c;并深入研究Python的内容&#xff0c;以及谈谈运算符重载。 Imports 到目前为止&#xff0c;我们已经讨论了内置于该语言的类…

计算机原理期中考试,计算机组成原理期中考试试题

一、单选题(每小题2分&#xff0c;共34分)1&#xff0e;完整的计算机系统应包括__________。A&#xff0e;运算器、存储器、控制器 B&#xff0e; 主机和实用程序C&#xff0e;配套的硬件设备和软件系统 D&#xff0e; 外部设备和主机2&#xff0e;下列数中真值最小的数是_____…