《Python编程:从入门到实践》学习笔记(知识点梳理+练习题答案代码)——第2章 变量和简单数据类型

书籍说明

书名:《Python编程:从入门到实践》(第一版)/Python Crash Course: A Hands-On, Project-Based Introduction to Programming

作者:Eric Matthes(著)/袁国忠(译)

出版社:人民邮电出版社

开发环境说明

Python Version: 3.11.2

Python IDE: PyCharm Community Edition 2022.3.3


目录

第2章 变量和简单数据类型

2.1 运行hello_world.py时发生的情况

2.2 变量

2.2.1 变量的命名和使用

2.2.2 使用变量时避免命名错误

动手试一试

2.3 字符串

2.3.1 使用方法修改字符串的大小写

2.3.2 合并(链接)字符串

2.3.3 使用制表符或换行符来添加空白

2.3.4 删除空白

2.3.5 使用字符串时避免语法错误

动手试一试

2.4 数字

2.4.1 整数

2.4.2 浮点数

2.4.3 使用函数str( )避免类型错误

动手试一试

2.5 注释

动手试一试

2.6 Python之禅

动手试一试


第2章 变量和简单数据类型

2.1 运行hello_world.py时发生的情况

  • 文件名hello_world.py,其中后缀名“.py”表该文件是一个Python程序。
  • print( )函数:作用于打印输出。
  • print("Hello Python world!")

    输出结果:Hello Python world!

2.2 变量

  • 变量,每个变量都存储了一个值——与变量相关联的信息。在这里,我们添加一个名为“message”的变量,其存储的值为文本“Hello Python world!”。
  • message = "Hello Python world!"
    print(message)

    输出结果:Hello Python world!

  • 在程序中可随时修改变量的值,而Python将始终记录变量的最新值。下面例子按照先后顺序给变量“message”赋予两个不同的值,输出结果则不同。
  • message = "Hello Python world!"
    print(message)
    message = "Hello Python Crash Course world!"
    print(message)

    输出结果:

        Hello Python world!

        Hello Python Crash Course world!

2.2.1 变量的命名和使用

  • 变量名只能包含字母、数字和下划线。其中,可以用字母或下划线打头,不能用数字打头。
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词。
  • 不能用Python关键字和函数名作为变量名。下面附上查询Python关键字的代码。
  • import keyword
    print(keyword.kwlist)

    输出结果:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'](仅供参考)

2.2.2 使用变量时避免命名错误

  • 若运行程序后出现报错,学会根据Traceback找出错误原因,并且改正。
  • 变量名称错误通常意味着两种情况:①使用变量前忘记给它赋值;②输入变量名时拼写不正确。下面例子属于情况②。
  • message = "Hello Python Crash Course reader!"
    print(mesage)

    输出结果:程序报错。程序报错指出,打印的变量“mesage”没有被定义。因为源代码定义的变量名为“message”,所以无法识别“mesage”。改正方法有以下两种思路,究其本质就是前后变量名要一致。

  • message = "Hello Python Crash Course reader!"
    print(message)
    
    mesage = "Hello Python Crash Course reader!"
    print(mesage)

    输出结果:Hello Python Crash Course reader!

动手试一试

2-1 简单消息:将一条消息存储到变量中,再将其打印出来。

  • a = 10
    print("我今年", a, "岁")

    输出结果:我今年10岁

2-2 多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

  • a = "你好"
    print(a)
    a = "您好"
    print(a)

    输出结果:

        你好

        您好

2.3 字符串

  • 字符串,就是一系列字符。在Python中需要用引号括起字符串。
  • 引号可以是单引号,也可以是双引号。在单独使用其中一种引号时,两者作用一致为括起字符串;在同时使用两种引号时,外层那个括起字符串,里层那个为字符串的内容。(例子见2.3.5)

2.3.1 使用方法修改字符串的大小写

  • str.title( ):开头大写
  • str.upper( ):全部大写
  • str.lower( ):全部小写
  • name = "ada lovelace"
    print(name.title())
    print(name.upper())
    name = "ADA LOVELACE"
    print(name.lower())

    输出结果:

        Ada Lovelace
        ADA LOVELACE
        ada lovelace

2.3.2 合并(链接)字符串

  • Python可以使用加号+来合并字符串。
  • first_name = "ada"
    last_name = "lovelace"
    full_name = first_name+" "+last_name
    print(full_name)

    输出结果:ada lovelace

  • first_name = "ada"
    last_name = "lovelace"
    full_name = first_name+" "+last_name
    message = "Hello, "+full_name.title()+"!"
    print(message)

    输出结果:Hello, Ada Lovelace!

2.3.3 使用制表符或换行符来添加空白

  • \t:空格
  • \n:换行
  • print("Languages:\n\tPython\n\tJavaScript")

    输出结果:

Languages:
    Python
    JavaScript

2.3.4 删除空白

  • str.rstrip( ):删除末尾的空白(右端)
  • str.lstrip( ):删除开头的空白(左端)
  • str.strip( ):删除两端的空白(不包括字符串中间)
  • str.replace(" ",""):删除所有空格
  • sentence = " ( hello python ) "
    print(sentence.rstrip())
    print(sentence.lstrip())
    print(sentence.strip())
    print(sentence.replace(" ",""))

    输出结果:

 ( hello python )
( hello python )
( hello python )
(hellopython)

2.3.5 使用字符串时避免语法错误

  • 注意正确地使用单引号和双引号。
  • message = 'One of Python's strengths is its diverse community.'
    print(message)

    输出结果:程序报错。

  • message = "One of Python's strengths is its diverse community."
    print(message)

    输出结果:One of Python's strengths is its diverse community.

动手试一试

2-3 个性化消息:将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。

  • name = "Eric"
    print("Hello "+name+", would you like to learn some Python today?")

    输出结果:Hello Eric, would you like to learn some Python today?

2-4 调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。

  • name = "steve jobs"
    print(name.lower())
    print(name.upper())
    print(name.title())

    输出结果:

        steve jobs
        STEVE JOBS
        Steve Jobs

2-5 名言:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, "A person who never made a mistake never tried anything new."

  • print('Albert Einstein once said, "A person who never made a mistake never tried anything new."')

    输出结果:Albert Einstein once said, "A person who never made a mistake never tried anything new."

2-6 名言2:重复练习2.5,但将名人的姓名存储在变量famous_person中,再创建要显示的消息,并将其存储在变量message中,然后打印这条消息。

  • famous_person = "Albert Einstein"
    message = '"A person who never made a mistake never tried anything new."'
    print(famous_person+' '+'once said,'+' '+message)

    输出结果:Albert Einstein once said, "A person who never made a mistake never tried anything new."

2-7 剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合“\t”和“\n”各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip( )、rstrip( )和strip( )对人名进行处理,并将结果打印出来。

  • name = "\t\tSteve\n\tjobs\t"
    print(name)
    print(name.lstrip())
    print(name.rstrip())
    print(name.strip())

    输出结果:

        Steve
    jobs    
Steve
    jobs    
        Steve
    jobs
Steve
    jobs

2.4 数字

2.4.1 整数

  • 在Python中,可对整数(int)执行以下运算,并支持运算优先级。
  • +:加
  • -:减
  • *:乘
  • /:除
  • **:乘方

2.4.2 浮点数

  • Python将带小数点的数字都称为浮点数(float)

2.4.3 使用函数str( )避免类型错误

  • str( )函数:将非字符串值表示为字符串。
  • age = 23
    message = "Happy " + age + "rd Birthday!"
    print(message)

    输出结果:程序报错。改正方法有以下两种思路,一是使用str( )函数将变量age由整数转化成字符串,二是直接将变量age定义成字符串类型

  • age = 23
    message = "Happy " + str(age) + "rd Birthday!"
    print(message)
    
    age = "23"
    message = "Happy " + age + "rd Birthday!"
    print(message)

    输出结果:Happy 23rd Birthday!

动手试一试

2-8 数字8:编写4个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用print语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于下面的代码:print(5+3)。输出应为4行,其中每行都只包含数字8。

  • print(4+4)
    print(10-2)
    print((2+2)*2)
    print(int(16/2))

    输出结果:

        8

        8

        8

        8

2-9 最喜欢的数字:将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。

  • favor_num = 9
    message = "My favorite number is " + str(favor_num) +"!"
    print(message)

    输出结果:My favorite number is 9!

2.5 注释

  • #   :单行注释(井号后的内容不会被执行)
  • ''' ''':多行注释(三引号括起的内容不会被执行)

动手试一试

2-10 添加注释:以2-9为例。

  • favor_num = 9    #定义变量favor_num,并赋值为整数9
    message = "My favorite number is " + str(favor_num) +"!"    #创建信息
    print(message)    #输出信息

2.6 Python之禅

动手试一试

2-11 Python之禅:在Python终端会话中执行命令import this,并粗略地浏览一下其他的指导原则。

  • import this

    输出结果:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

你可能感兴趣的:(学习,python)