【python学习笔记】:python 入门

前言

入门篇

1.算术和变量

Printing

在Python中,通过编写print(),将消息放在括号内并用引号括起来。下面,我们要求电脑打印消息。

print("Hello,world")

代码位于框内(称为代码单元),计算机的响应(称为代码输出)显示在框下方。如下,计算机打印了我们想要的消息。(文末送读者福利)

Hello,world

还可以打印一些算术运算的值(如加法、减法、乘法或除法)。

例如,在下一个代码单元中,计算机将 2 比 1 相加,然后打印结果,即 3。请注意,与仅打印文本时不同,我们不使用任何引号。

print(1+8)

结果

9

你实际上可以用python做很多计算!有关一些示例,请参阅下表。
在这里插入图片描述
可以使用括号控制长计算中的运算顺序。

print(((1 + 3) * (9 - 2) / 2) ** 2)

结果

196.0

通常,Python在决定操作顺序时遵循PEMDAS规则。即括号,指数,乘,除,加,减

我们使用注释来注释代码正在执行的操作。它们可以帮助其他人理解你的代码,如果你已经有一段时间没有看过自己的代码了,它们也会很有帮助。到目前为止,我们编写的代码非常短,但是当编写了大量代码时,注释变得更加重要。

例如,在下一个代码单元中,我们将 3 乘以 2。我们还在代码上方添加一个注释(# 乘以 3 乘以 2)来描述代码正在执行的操作。

# Multiply 3 by 2
print(3 * 2)

结果

6

为了向Python指出某一行是注释(而不是Python代码),我们需要编写一个井号(#)作为第一个字符。一旦Python看到井号并识别出该行是注释,计算机就会完全忽略它。

我们可以在下面的代码单元格中看到一个示例。,当我们删除井号,因为注释中的文本不是有效的Python代码,因此无法正确解释。

Multiply 3 by 2
  File "/tmp/ipykernel_18/3750420471.py", line 1
    Multiply 3 by 2
             ^
SyntaxError: invalid syntax

到目前为止,我们已经使用代码进行了计算并打印了结果,然而结果不会保存在任何位置。但是,当我们使用变量时,就可以将结果保存下来。

下一个代码单元创建一个名为 test_var 的变量,并将4+5的值赋给它。

然后,我们打印分配给变量的值,即 9。

# Create a variable called test_var and give it a value of 4+5
test_var = 4 + 5

# Print the value of test_var
print(test_var)

结果

9

通常,我们会给变量取一个短的且有描述性的的名字,而且它还要满足下面几个要求。

不能有空格

由字母,数字,下划线组成

必须以字母或下划线开头

然后,要创建变量,需要使用 = 来分配我们希望它具有的值。

我们可以通过使用 print() 并将变量的名称放在括号中来查看分配给变量的值。

我们可以通过覆盖以前的值来更改分配给变量的值。

在下面的代码单元格中,我们将my_var的值从 3 更改为 100。

# 将3分配给变量
my_var = 3
# 打印变量的值
print(my_var)
# 将变量的值更改为100
my_var = 100
#打印变量的值
print(my_var)

通常,每当在代码单元中定义变量时,后面的所有代码单元也有权访问该变量。例如,我们使用下一个代码单元来访问my_var(来自上面的代码单元格)和test_var(来自本教程前面的内容)的值。

print(my_var)
print(test_var)

结果

100
9

下一个代码单元格告诉 Python 将 my_var 的当前值增加 3。

为此,我们仍然需要像以前一样使用my_var =。也像以前一样,我们要分配给变量的新值位于 = 符号的右侧。

如图

my_var = my_var + 3
print(my_var)

结果

103

在写代码时,我们经常使用多个变量。当我们必须使用多个输入进行长计算时,这尤其有用。

在下一个代码单元中,我们计算四年的秒数。此计算使用五个输入。

num_years = 4
days_per_year = 365
hours_per_day = 24
mins_per_hour = 60
secs_per_min = 60
total_secs = num_years*days_per_year*hours_per_day*mins_per_hour*secs_per_min
print(total_secs)

结果

126144000

请注意,当输入的值可以更改时,使用变量特别有用。例如,假设我们希望通过将一年中的天数值从 365 更新到 365.25 来稍微改进我们的估计值,以考虑闰年。然后,我们可以更改分配给days_per_year的值,而无需更改任何其他变量并重做计算。(文末送读者福利)

使用变量时的一个常见错误是意外引入拼写错误。例如,如果我们hours_per_day拼写为hours_per_dy,Python将错误显示消息NameError:未定义名称“hours_per_dy”。

NameError                                 Traceback (most recent call last)
/tmp/ipykernel_18/142450907.py in <module>
----> 1 print(hours_per_dy)

NameError: name 'hours_per_dy' is not defined

2.函数

这一章讲的是如何用函数组织代码。函数是一段用于执行特定任务的代码。函数允许多次执行大致相同的计算,而不会重复任何代码。

我们从一个简单的函数例子开始。下面的add_three()函数接受任意数字,将其加3,然后返回结果。

# Define the fiction
def add_three(input_var):
    output_var = input_var + 3
    return output_var

每个函数都由两部分组成:头部和主体。

头部

函数头文件定义了函数名及其参数。

每个函数头文件都以def开头,它告诉Python我们将要定义一个函数。

在本例中,函数名为add_three。

在本例中,参数为input_var。参数是将被用作函数输入的变量的名称。它总是括在紧跟在函数名之后的圆括号中。(注意,函数也可以没有参数,也可以有多个参数。稍后你会看到一些例子。)

对于每个函数,包含函数参数的圆括号后面必须有一个冒号:

主体

函数体指定了函数所做的工作。

函数体中的每一行代码必须精确地缩进四个空格。你可以按四次空格键,或者按一次键盘上的“Tab”键。

该函数的工作方式是从上到下运行所有缩进的行。

它接受参数作为输入,在本例中为input_var。

该函数使用计算方法output_var = input_var + 3创建一个新变量output_var。

然后,最后一行代码(称为return语句)将output_var中的值作为函数的输出返回。

上面的代码单元格只定义了函数,但没有运行它。在下一个代码单元格之后,当我们实际运行函数时,函数体的细节将变得更有意义。

当我们运行一个函数时,它也可以被称为“调用”函数。

在下面的代码单元格中,我们以10作为输入值运行函数。我们定义了一个新变量new_number,它被设置为函数的输出。

def add_three(input_var):
    output_var = input_var + 3
    return output_var
# 将10作为函数的输入
new_number = add_three(10)
# 检验输出值是不是预期的13
print(new_number)

解释

add_three()是我们为input_var提供10并调用add_three()

当函数运行时,它会从上到下运行函数体中的所有代码:

它首先计算output_var = input_var + 3,这将设置output_var = 13。

最后一行代码是return语句,它返回output_var的值,即13。

通过设置new_number = add_three(10),我们设置new_number = 13。

注意:当我们随意引用add_three()函数时,我们在函数名后面使用空的右括号。这与人们通常编写Python代码解释的方式是一致的,空括号只是表明我们引用的是一个函数,而不是变量或另一个Python对象。这些圆括号应该总是空的,即使函数有参数。

函数命名

在为自己的函数命名时,应该只使用小写字母,单词之间由下划线分隔,而不是空格。

一个更复杂的示例

现在您已经理解了基础知识,我们可以继续看一个具有更长的计算的示例。

假设你正在帮一个朋友计算税后的周薪。

他们的纳税等级为12%(换句话说,他们工资的12%用于缴税,而他们只拿回家88%)

他们的工资是每小时15美元。

下面的函数根据工作小时数计算工资。该函数比第一个示例更复杂,因为该函数有更多的代码行和注释。与上面的例子类似,该函数只有一个参数(num hours)。在函数体中:

使用num_hours的值来指定新变量pay_pretax的值。

使用pay_pretax的值来指定新变量pay_aftertax的值。

返回pay_aftertax变量的值。

def get_pay(num_hours):
    pay_pretax = num_hours * 15
    pay_aftertax = pay_pretax * (1 - .12)
    return pay_aftertax
pay_fulltime = get_pay(40)
print(pay_fulltime)

为了根据不同的工作小时数快速计算工资,您需要为该函数提供不同的数字。例如,假设你的朋友工作32小时。(然后,他们得到422.40美元。)

def get_pay(num_hours):
    pay_pretax = num_hours * 15
    pay_aftertax = pay_pretax * (1 - .12)
    return pay_aftertax
pay_parttime = get_pay(32)
print(pay_parttime)

结果

422.40

因为我们编写了一个函数,所以可以计算不同小时的工资,而不必重新编写计算中的所有代码。

函数可以帮助我们避免代码中的错误,并节省大量时间。一般来说,在编写代码时,应该尽量少写,因为每次输入计算时,都有可能不小心出现拼写错误或错误。(文末送读者福利)

变量范围

在函数体中定义的变量不能在函数外部访问。例如,下一个代码单元格会出错,因为pay_aftertax只存在于函数内部。

print(pay_aftertax)
Traceback (most recent call last):
  File "D:\python项目\practice.py", line 23, in <module>
    print(pay_aftertax)
NameError: name 'pay_aftertax' is not defined

如果我们试图打印pay_pretax或num_hours,将会得到相同的错误。因此,如果我们需要函数中的任何信息,我们需要确保它出现在函数末尾的return语句中。

我们将变量的作用域称为代码中可访问变量的部分。函数内部定义的变量(如pay_aftertax)仅具有该函数的局部作用域。但是,正如您所看到的,在所有函数(如pay_parttime)之外定义的变量具有全局作用域,可以在任何地方访问。

到目前为止,我们已经学习了如何定义只有一个参数的函数。要定义具有多个参数的函数,只需要在函数头的圆括号内添加更多参数,并用逗号分隔它们。

我们使用下面的get_pay_with_more_inputs()函数来完成此操作,它基于三个参数来计算每周的薪水:

Num_hours—一周工作的小时数

Hourly_wage—每小时的工资(以$/hour为单位)

税级-你的工资中扣除税款的百分比

def get_pay_with_more_inputs(num_hours,hourly_wage,tax_bracket):
    pay_pretax = num_hours * hourly_wage
    pay_aftertax = pay_pretax * (1 - tax_bracket)
    return pay_aftertax
higher_pay_aftertax = get_pay_with_more_inputs(40,24,.22)
print(higher_pay_aftertax)

结果

748.8000000000001

然后,要调用该函数,需要为每个输入提供一个值,同样用逗号分隔。

在下面的代码单元格中,我们计算了工作40小时、每小时挣24美元、纳税等级为22%的人的税后收入。

下面的代码单元格给出了与运行get_pay(40)时相同的结果,因为hourly_wage设置为15,tax_bracket设置为12%,这与我们设计get_pay的方式一致。

same_pay_fulltime = get_pay_with_more_inputs(40, 15, .12)
print(same_pay_fulltime)

结果

528.0

取决于我们计划如何使用这个新函数get_pay_with_more_inputs(),它可能比原始函数get_pay()更有用,因为它可以处理更多情况。新函数允许用户指定正确的值,而不是错误地假设小时工资和税收等级。但是,如果你确定小时工资和税收等级不需要改变,新函数只是比必要的更复杂。通常,在定义函数时,需要根据用例考虑需要多大的灵活性。

无参数函数

注意,可以不带参数定义函数,也可以不带返回语句。下面代码单元中的print_hello()函数就是一个例子。

def print_hello():
    print("Hello, you!")
    print("Good morning!")
print_hello()数据类型

3.数据类型

无论何时在Python中创建一个变量,它都有一个具有相应数据类型的值。有许多不同的数据类型,如整数、浮点数、布尔值和字符串,我们将在本课中讨论所有这些。(这只是可用数据类型的一小部分——还有字典、集合、列表、元组等。)

数据类型很重要,因为它们决定了您可以使用它们执行何种类型的操作。例如,可以分割两个浮点数,但不能分割两个字符串。例如,12.0/2.0有意义,但“猫”/“狗”就没有意义。为了避免错误,我们需要确保操作与我们拥有的数据类型匹配。

整数

整数是没有小数部分的数字,可以是正的(1、2、3、…)、负的(-1、-2、-3、…)或零的(0)。在下面的代码单元格中,我们将变量x设置为整数。然后,我们使用type()验证数据类型,只需要将变量名传递到圆括号中。

x = 14
print(x)
print(type(x))

结果

14
<class 'int'>

<class ‘int’>代表整数类型

浮点数

浮点数是带有小数部分的数字。小数之后可以有很多数字。

nearly_pi = 3.141592653589793238462643383279502884197169399375105820974944
print(nearly_pi)
print(type(nearly_pi))

结果

3.141592653589793
<class 'float'>

我们也可以指定一个带有分数的浮点数。

almost_pi = 22/7
print(almost_pi)
print(type(almost_pi))

结果

3.142857142857143
<class 'float'>

一个对分数特别有用的函数是round()函数。它允许您将数字四舍五入到指定的小数点后数位。

round_pi = round(22/7,5)
print(round_pi)
print(type(round_pi))

结果

3.14286
<class 'float'>

当你写一个带有小数点的数字时,Python会将其识别为浮点数据类型。

例如,1。(或1.0、1.00等)将被识别为浮点数。即使这些数字在技术上没有小数部分,情况也是如此!

y_float = 1.
print(y_float)
print(type(y_float))

结果

1.0
<class 'float'>

布尔值

布尔值代表两个值之一:True或False。在下面的代码单元格中,z_one被设置为一个带值的布尔值

z_one = True
print(z_one)
print(type(z_one))

结果

True
<class 'bool'>

接下来,将z_two设置为布尔值False

z_two = False
print(z_two)
print(type(z_two))

结果

False
<class 'bool'>

布尔值用于表示表达式的真值。因为1 < 2是一个true语句,所以z_three的值为true。

z_three = (1 < 2)
print(z_three)
print(type(z_three))

结果

True
<class 'bool'>

反过来也可以表达1>2是一个flase语句,这里就不作赘诉。

我们可以使用not来切换布尔值。因此,not True等价于False, not False变成True。

z_three = not z_three
print(z_three)
print(type(z_three))

字符串

字符串数据类型是包含在引号中的字符(如字母、标点、数字或符号)的集合。字符串通常用于表示文本。

w = "Hello, Python!"
print(w)
print(type(w))

结果

Hello, Python!
<class 'str'>

你可以用len()获取字符串的长度。“Hello, Python!”的长度为14,因为它有14个字符,包括空格、逗号和感叹号。注意,在计算长度时不包括引号。(文末送读者福利)

print(len(w))

结果

14

一种特殊的字符串类型是空字符串,其长度为0。

shortest_string = ""
print(type(shortest_string))
print(len(shortest_string))

结果

<class 'str'>
0

如果将数字放在引号中,则它将具有字符串数据类型。

my_number = "1.12321"
print(my_number)
print(type(my_number))

结果

1.12321
<class 'str'>

如果有一个可转换为浮点数的字符串,可以使用float()。

这并不总是有效的!例如,我们可以将"10.43430"和"3"转换为浮点数,但不能将"Hello, Python!"转换为浮点数。

also_my_number = float(my_number)
print(also_my_number)
print(type(also_my_number))

结果

1.12321
<class 'float'>

就像可以将两个数字(浮点数或整数)相加一样,也可以将两个字符串相加。它将产生一个较长的字符串,将两个原始字符串连接在一起。

new_string = "abc" + "def"
print(new_string)
print(type(new_string))

结果

abcdef
<class 'str'>

注意,不能用两个字符串做减法或除法。你也不能将两个字符串相乘,但你可以将一个字符串乘以一个整数。这再次得到一个字符串,它只是原始字符串与自身连接指定次数的字符串。

newest_string = "abc" * 3
print(newest_string)
print(type(newest_string))

结果

abcabcabc
<class 'str'>

注意,不能将字符串与浮点数相乘!尝试这样做将返回一个错误。

条件和条件语句
我们可以使用条件来比较变量的值。在下一个代码单元格中,var_one的值为1,var_two的值为2。在条件中,我们检查var_one是否小于1(为False),并检查var_two是否大于或等于var_one(为True)。

var_one = 1
var_two = 2

print(var_one < 1)
print(var_two >= var_one)

结果

False
True

有关可用于构造条件的常用符号列表,请查看下面的图表。
在这里插入图片描述
重要提示:当您检查两个值相等时,请确保使用的是==号,而不是=号。

Var_one ==1检查Var_one的值是否为1,但是

Var_one =1将Var_one的值设置为1。

条件语句使用条件来修改函数的运行方式。它们检查一个条件的值,如果条件的计算结果为True,则执行某个代码块。(否则,如果条件为False,则代码不运行。)

在下面的小节中,您将看到几个这样的例子。
“如果”语句

最简单的条件语句是“if”语句。在下面的evaluate_temp()函数中可以看到这样的示例。该函数接受体温(摄氏)作为输入。

最初,消息设置为“正常温度”。

然后,如果temp > 38为True(例如,体温大于38°C),则消息将更新为“Fever!”。否则,如果temp > 38为False,则消息不更新。最后,函数返回message。

 def evaluate_temp(temp):
    message = "Normal temperature."
    if temp > 38:
        message = "Fever!"
    return message


print(evaluate_temp(37))

结果

Normal temperature.

注意有两层缩进:

第一级缩进是因为我们总是需要缩进函数内部的代码块。

第二级缩进是因为我们还需要缩进属于“if”语句的代码块。(正如您将看到的,我们还需要缩进“elif”和“else”语句的代码块。)

注意,因为return语句在"if"语句下没有缩进,所以无论temp > 38是True还是False,它都会被执行。

if…else…语句

如果语句为False,可以使用“else”语句来运行代码。如果语句为True,则运行“if”语句下的代码,如果语句为False,则运行“else”语句下的代码。

def evaluate_temp_with_else(temp):
    if temp > 38:
        message = "Fever!"
    else:
        message = "Normal temperature."
    return message
print(evaluate_temp_with_else(40))

结果

Fever!
if...elif...else...

我们可以使用“elif”(是“else if”的缩写)来检查多个条件是否为真。下面的函数:

首先检查是否temp > 38。如果这是真的,那么消息将设置为“Fever!”

只要消息还没有设置,该函数就会检查是否为temp > 35。如果这是真的,那么消息设置为“正常温度。”

然后,如果仍然没有设置消息,则“else”语句确保打印消息被设置为“Low temperature.”消息。

你可以把“elif”想象成……“好的,之前的条件(例如,temp > 38)为假,所以让我们检查这个新条件(例如,temp > 35)是否可能为真!”

def evaluate_temp_with_elif(temp):
    if temp > 38:
        message = "Fever!"
    elif temp > 35:
        message = "Normal temperature."
    else:
        message = "Low temperature."
    return message


evaluate_temp_with_elif(36)

结果

'Normal temperature.'

例子——计算

在到目前为止的示例中,使用条件语句来决定如何设置变量的值。但是你也可以使用条件语句来执行不同的计算。

在下一个例子中,假设你生活在一个只有两个税级的国家。收入低于12,000美元的人要缴纳25%的税,收入不低于12,000美元的人要缴纳30%的税。下面的函数计算应该缴纳多少税。

def get_taxes(earnings):
    if earnings < 12000:
        tax_owed = .25 * earnings
    else:
        tax_owed = .30 * earnings
    return tax_owed

接下来的代码块,使用功能

ana_taxes = get_taxes(9000)
bob_taxes = get_taxes(15000)

print(ana_taxes)
print(bob_taxes)

结果

2250.0
4500.0

多条“elif”语句

到目前为止,您只看到“elif”在函数中使用过一次。但是可以使用的“elif”语句的数量是没有限制的。例如,下一个代码块根据体重(公斤)计算给孩子的药物剂量(以毫升为单位)。

注:此功能不应作为医嘱使用,代表假药。(文末送读者福利)

def get_dose(weight):
    # Dosage is 1.25 ml for anyone under 5.2 kg
    if weight < 5.2:
        dose = 1.25
    elif weight < 7.9:
        dose = 2.5
    elif weight < 10.4:
        dose = 3.75
    elif weight < 15.9:
        dose = 5
    elif weight < 21.2:
        dose = 7.5
    # Dosage is 10 ml for anyone 21.2 kg or over
    else:
        dose = 10
    return dose
print(get_dose(12))

在本例中,“if”语句为False,而所有“elif”语句的值都为False,直到权重< 15.9为True,剂量设置为5。

一旦“elif”语句的计算结果为True并且代码块运行,该函数将跳过所有剩余的“elif”和“else”语句。跳过这些之后,剩下的就是返回语句,它返回剂量的值。

elif语句的顺序在这里很重要!重新排序语句将返回非常不同的结果。

介绍列表

在进行数据科学时,您需要一种组织数据的方法,以便能够有效地使用它。Python有许多数据结构可用于保存数据,如列表、集合、字典和元组。接下来,您将学习如何使用Python列表。

要创建列表,需要使用方括号([,]),并用逗号分隔每一项。列表中的每一项都是Python字符串,所以每一项都用引号括起来

flowers_list = ["pink primrose", "hard-leaved pocket orchid", "canterbury bells", "sweet pea", "english marigold", "tiger lily", "moon orchid", "bird of paradise", "monkshood", "globe thistle"]

print(type(flowers_list))
print(flowers_list)

结果

<class 'list'>
['pink primrose', 'hard-leaved pocket orchid', 'canterbury bells', 'sweet pea', 'english marigold', 'tiger lily', 'moon orchid', 'bird of paradise', 'monkshood', 'globe thistle']

乍一看,无论用Python字符串还是列表表示信息,都没有太大区别。但正如你将看到的,有了列表,你可以更容易地完成很多任务。例如,列表将使它更容易:

在指定位置(第一、第二、第三等)取得元素。

检查元素数量。

添加和删除元素。

我们可以用len()计算任意列表中的条目数,len()是"length"的缩写。您只需要提供括号中列表的名称。

print (len (flowers_list))

结果

10

我们可以根据列表中的任何一项在列表中的位置(第一,第二,第三,等等)来引用列表中的任何一项。这叫做索引。

注意,Python使用从零开始的索引,这意味着:

要提取列表中的第一个元素,你用0,

要提取列表中的第二个条目,需要使用1和

要提取列表中的最后一个条目,需要使用小于列表长度的条目。

print(type(flowers_list))
print(flowers_list)
print("First entry:", flowers_list[0])
print("Second entry:", flowers_list[1])
print("Last entry:", flowers_list[9])

结果

<class 'list'>
['pink primrose', 'hard-leaved pocket orchid', 'canterbury bells', 'sweet pea', 'english marigold', 'tiger lily', 'moon orchid', 'bird of paradise', 'monkshood', 'globe thistle']
First entry: pink primrose
Second entry: hard-leaved pocket orchid
Last entry: globe thistle

在上面的代码单元格中,我们使用单个print()打印多个条目(包括Python字符串(如"First entry:")和列表中的值(如flowers_list[0])。要在Python中使用一个命令输出多个内容,我们只需要用逗号分隔它们。

您还可以提取列表的一个片段(例如,前三个条目或后两个条目)。这叫做切片。例如:

要提取前x个元素,可以使用[:x]和

要提取最后的y项,可以使用[-y:]。

print("First three entries:", flowers_list[:3])
print("Final two entries:", flowers_list[-2:])

结果

First three entries: ['pink primrose', 'hard-leaved pocket orchid', 'canterbury bells']
Final two entries: ['monkshood', 'globe thistle']

使用. Remove()从列表中删除一个元素,并将要删除的元素放在括号中。

flowers_list.remove("globe thistle")
print(flowers_list)

结果

['pink primrose', 'hard-leaved pocket orchid', 'canterbury bells', 'sweet pea', 'english marigold', 'tiger lily', 'moon orchid', 'bird of paradise', 'monkshood']

使用.append()向列表中添加一元素,并将要添加的元素放在括号中。

flowers_list.append("snapdragon")
print(flowers_list)

结果

['pink primrose', 'hard-leaved pocket orchid', 'canterbury bells', 'sweet pea', 'english marigold', 'tiger lily', 'moon orchid', 'bird of paradise', 'monkshood', 'snapdragon']

列表不仅仅用于字符串到目前为止,我们只处理过列表中每一项都是字符串的列表。但是列表可以包含任何数据类型的项,包括布尔值、整数和浮点数。

例如,考虑2000年4月第一周一家零售店的精装书销售情况。

hardcover_sales = [139, 128, 172, 139, 191, 168, 170]

这里,hardcover_sales是一个整数列表。与处理字符串类似,您仍然可以执行诸如获取长度、提取单个条目和扩展列表等操作。

print("Length of the list:", len(hardcover_sales))
print("Entry at index 2:", hardcover_sales[2])

结果

Length of the list: 7
Entry at index 2: 172

你也可以用min()得到最小值,用max()得到最大值。

print("Minimum:", min(hardcover_sales))
print("Maximum:", max(hardcover_sales))

结果

Minimum: 128
Maximum: 191

使用sum()求和列表中的每一项

print(“一周总销量:”,sum(hardcover_sales))

结果

一周总销量1107

我们也可以对列表的切片进行类似的计算。在下一个代码单元格中,我们取前5天的总和(sum(hardcover_sales[:5])),然后除以5得到前5天售出的平均图书数。

print("Average books sold in first five days:", sum(hardcover_sales[:5])/5)

结果

Average books sold in first five days: 153.8

这一次的内容到此就结束了,谢谢大家的浏览。

读者福利:知道你对Python感兴趣,便为你准备了这套python学习资料,

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python web开发,Python爬虫,Python数据分析,人工智能等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取

在这里插入图片描述

好文推荐

了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741

了解python能做什么:https://blog.csdn.net/weixin_49895216/article/details/127124870

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值