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


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

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

     1 #hello_world.py 2 print('Hello Python world!') 

    ①文件名“hello_world.py”中,末尾的.py指出这是一个Python程序,文件名后缀是编程语言类型,编辑器将使用Python解释器来运行它。如第1章所说,python解释器会将代码,按python的语法去翻译,执行。

    ② print的作用,将将括号中的内容打印到屏幕。

    ③函数名称显示为蓝色,如"print"

    ④不是Python代码显示为橙色,如“Hello Python world!”。

    2.2 变量

    1 message = "Hello Python world!"
    2 print(message)
    3 message = "Hello Python Crash Course world!"
    4 print(message)

    ①每个变量都存储了一个值——与变量相关联的信息,变量命名,即将变量值和变量名关联起来,如第一行,message存储的值为文本“Hello Python world!”。

    ②print打印变量时,是将变量关联的值打印到屏幕。如第二行,打印message,将message关联的“Hello Python world!”打印到屏幕。

    ③在程序中可随时修改变量的值,而Python将始终记录变量的最新值。如第四行打印的结果为"Hello Python Crash Course world!"。

    2.2.1 变量的命名和使用

    变量的命名规则

    ① 变量名只能包含字母数字下划线。变量名可以字母或下划线打头,但能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。

    ② 变量名能包含空格,但使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

    要将Python关键字和函数名作变量名,即不要使用Python保留用于特殊用途的单词,如 print。

    ④ 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

    写字母l写字母O,因为它们可能被人错看成数字1和0。

    ⑥就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。

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

    1 message = "Hello Python Crash Course world!"
    2 print(mesage)
    3 ''
    4 Traceback (most recent call last):
    5  File "hello_world.py", line 2, in <module>
    6    print(mesage)
    7 NameError: name 'mesage' is not defined
    8 ''

    ①程序存在错误时,Python解释器将竭尽所能地帮助你找出问题所在。程序无法成功地运行时,解释器会提供一个traceback。traceback是一条记录,指出了解释器尝试运行代码时,在什么地方陷入了困境。

    ②解释器指出,文件的第几行存在错误,如所示

    ③解释器会列出了错误代码,旨在帮助你快速找出错误,如所示。

    ④解释器会指出了它发现的是什么样的错误,如所示。

    名称错误通常意味着两种情况:要么是使用变量前忘记了给它赋值,要么是输入变量名时拼写不正确。

     1 mesage = "Hello Python Crash Course reader!" 2 print(mesage) 

    ①Python解释器不会对代码做拼写检查,但要求变量名的拼写一致。如上例message错误地拼写成了mesage,但计算机不关心拼写是否正确。

    1 #练习

    将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来

    2 message = "世界很美好!"
    3 print(message)
    4 message = "世界并不美好!"
    5 print(message)

    2.3 字符串

    1 #字符串
    2 string1 = "This is a string."
    3 string2 = 'This is also a string.'
    4 string3 = 'I told my friend, "Python is my favorite language!"'
    5 string4 = "The language 'Python' is named after Monty Python, not the snake."
    6 string5 = "One of Python's strengths is its diverse and supportive community."

    ①字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,这种灵活性让你能够在字符串包含引号和撇号。如上所示。

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

    1 name = "ada lovelace"
    2 print(name.title())
    3 name = "Ada Lovelace"
    4 print(name.upper())
    5 print(name.lower())

    方法是Python可对数据执行的操作。在变量后“.方法名()”,每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。

    title()首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。如行2

    upper()将字符串改为全部大写。如行4

    lower()将字符串改为全部小写。如行5

    2.3.2 合并(拼接)字符串

    1 first_name = "ada"
    2 last_name = "lovelace"
    3 full_name = first_name + " " + last_name
    4 print(full_name)
    5 print("Hello," + full_name.title() + "!")
    6 message = "Hello," + full_name.title() + "!"
    7 print(message)

    ①Python使用加号( + )来合并字符串。这种合并字符串的方法称为拼接。通过拼接,可使用存储在变量中的信息来创建完整的消息。如行5。

    ②你可以使用拼接来创建消息,再把整条消息都存储在一个变量中。如行6。

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

    1 print("python")
    2 print("	python")
    3 print("Languages:
    python
    C
    JavaScript")
    4 print("Languages:
    	python
    	C
    	JavaScript")

    ①在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其更易读。

    ②要在字符串中添加制表符,可使用字符组合 。如行2

    ③要在字符串中添加换行符,可使用字符组合 。如行3

    ④还可在同一个字符串中同时包含制表符和换行符。字符串 " " 让Python换到下一行,并在下一行开头添加一个制表符。如行4

    2.3.4 删除空白

     1 favorite_language = 'python '
     2 print(favorite_language)
     3 print(favorite_language.rstrip())
     4 print(favorite_language)
     5 favorite_language = favorite_language.rstrip()
     6 print(favorite_language)
     7 favorite_language = ' python'
     8 print(favorite_language.rstrip())
     9 print(favorite_language.lstrip())
    10 print(favorite_language.strip())

    ①Python能够找出字符串开头和末尾多余的空白。

    ②确保字符串末尾没有空白,可使用方法rstrip() 。如行3

    ③方法并不能改变变量的值,要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中。如行5

    lstrip()可以剔除字符串开头的空白。如行9

    strip()可以同时剔除字符串两端的空白。如行10

    ⑥在实际程序中,这些剥除函数最常用于在存储用户输入前对其进行清理。

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

    1 message = "One of Python's strengths is its diverse community."
    2 print(message)
    3 message = 'One of Python's strengths is its diverse community.'
    4 print(message)
    File "E:/python/代码/caogao.py", line 4 message = 'One of Python's strengths is its diverse community.' ^ SyntaxError: invalid syntax

    ①语法错误是一种时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。

    ②在用单引号括起的字符串中,如果包含撇号,就将导致错误。如行3

    这种语法错误表明,在解释器看来,其中的有些内容不是有效的Python代码。

     

     

    2.3.6 Python 2 中的 print 语句

      1 print "Hello Python 2.7 world!" 

    在Python 2中,无需将要打印的内容放在括号内。从技术上说,Python 3中的 print 是一个函数,因此括号必不可少。有些Python 2  print 语句也包含括号,但其行为与Python 3中稍有不同。简单地说,在Python 2代码中,有些 print 语句包含括号,有些不包含。

     1 #习题1

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

     2 name = input("请输入你的名字:")
     3 question = "Hello " + name + ", would you like to learn some Python today?"
     4 print(question)
     5 #习题2

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

     6 name = input("请输入你的英文名:")
     7 print(name.lower())
     8 print(name.title())
     9 print(name.upper())
    10 #习题3

    找一句你钦佩的名人说的名言,将名人的姓名存储在变量 famous_person 中,再创建要显示的消息,并将其存储在变量 message 中,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.”

    11 famous_person = input("请输入名人名:")
    12 wisdom = input("请输入" +  famous_person + "的名言:")
    13 message =  famous_person + " once said," + '"' + wisdom + '"'
    14 print(message)
    15 #练习4

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


    16 name = " Zhang jin ye " 17 print(name) 18 print(name.lstrip()) 19 print(name.rstrip()) 20 print(name.strip())

    2.4 数字

    2.4.1 整数

    1 print(2+3)
    2 print(3-2)
    3 print(2*3)
    4 print(3/2)
    5 print(3**2)
    6 print(3**3)
    7 print(10**6)

    ①在Python中,可对整数执行加( + )减( - )乘( * )除( / )运算。如行1、2、3、4

    ②Python使用两个乘号表示乘方运算。如行5、6、7

     1 print(2+3*4) 2 print((2+3)*4) 

    ③Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让Python按你指定的次序执行运算。

    2.4.2 浮点数

    1 print(0.1+0.1)
    2 print(0.2+0.2)
    3 print(2*0.1)
    4 print(2*0.2)
    5 print(0.2+0.1)
    0.30000000000000004
    6 print(3*0.1)
    0.30000000000000004

    ①Python将带小数点的数字都称为浮点数。

    ②需要注意的是,结果包含的小数位数可能是不确定的。如行5、6

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

    1 age = 23
    2 message = "Happy " + age +"rd Birthday!"

    Traceback (most recent call last):
      File "E:/python/代码/caogao.py", line 3, in <module>
       message = "Happy" + age +"rd Birthday!"
    TypeError: can only concatenate str (not "int") to str

    3 message = "Happy " + str(age) +"rd Birthday!"
    4 print(message)

    这是一个类型错误,意味着Python无法识别你使用的信息。

    ②函数 str() ,它让Python将非字符串值表示为字符串。如行3

    2.4.4 Python 2 中的整数

    在Python 2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。在Python 2中,若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数。从Python 3转而用Python 2或从Python 2转而用Python 3时,这种除法行为常常会令人迷惑。使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为。

    1 #习题1
    编写 4 个表达式,它们分别使用加法、减法、乘法和除法运算,但结果都是数字 8。为使用 print 语句来显示结果,务必将这些表达式用括号括起来,也就是说,输出应为 4行,其中每行都只包含数字 8。
    # 张** 2020/8/16 练习python的加减乘除 2 print(3+5) 3 print(11-3) 4 print(2*4) 5 print(32/4) 6 #习题2
    将你最喜欢的数字存储在一个变量中,再使用这个变量创建一条消息,指出你最喜欢的数字,然后将这条消息打印出来。
    # 张** 2020/8/16 将你输入的最喜欢的数字打印出来。
    7 love_number = input("请输入您最喜欢的数字:")
    8 print("我最喜欢的数字是" + str(love_number) + "")

    2.5 注释

    注释让你能够使用自然语言在程序中添加说明。

    2.5.1 如何编写注释

     1 #向大家问好 2 print("Hello python people!") 

    在Python中,注释用井号( # )标识。井号后面的内容都会被Python解释器忽略

    2.5.2 该编写什么样的注释

    2.6 Python 之禅

    开发的项目涉及复杂代码时,一定要为这些代码编写有益的注释。

    2.7 小结

    
    
  • 相关阅读:
    Python 避免字典和元组的多重嵌套
    支持向量机(四)SMO算法
    用 None 来描述具有动态默认值的参数
    Minitab 控制图
    MySQL在并发场景下的问题及解决思路
    redis变慢查询
    php中流行的rpc框架详解
    MySQL查询性能优化
    【学习笔记】VS Code的keil插件使用方法
    【学习笔记】keil5 CMSIS/core_cm3.c(445): error: nonASM statement in naked function is not supported uint32_t result=0;
  • 原文地址:https://www.cnblogs.com/yiyezhiqiu1/p/13156559.html
Copyright © 2020-2023  润新知