《Python从入门到实践》读书笔记——第二章 变量和简单数据类型

《Python从入门到实践》读书笔记——第二章 变量和简单数据类型

变量的规则

  • 变量名只能包含字母、数字和下划线。变量名能以字母或下划线大头,但不能以数字打头。例如,可将变量命名为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中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号

“This is a string."
'This is also a string.'

这种灵活性让你能够在字符串中包含引号和撇号:

'I told my friend , "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community"

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

name = "ada lovelace"
print(name.title())

输出 Ada Lovelace

在函数调用print()中, 方法title()出现在这个变量的后面。方法是Python可对数据执行的操作。在 name.title() 中,name后面的句点(.)让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对圆括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在圆括号内提供的。函数title()不需要额外的信息,因此它后面的圆括号是空的。
方法 title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如你可能希望程序将值Ada、ADA和ada视为同一个名字,并将它们都显示为Ada。
还有其他几个很有用的大小写处理方法。

name = "Ada Lovelace"
print(name.upper())
print(name.lower())

输出

ADA LOVELACE
ada lovelace

存储数据时,方法 lower() 很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为最合适的大小写方式。

在字符串中使用变量(f字符串是3.6引用的,之前使用方法format())

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(full_name)

输出

ada lovelace

要在字符串中插入变量的值,可在前引号前加上字母 f ,再将要插入的变量放在花括号内。这样,当Python显示字符串时,将把每个变量都替换为其值。
这种字符串名为 f字符串 。f是format(设置格式)的简写,因为Python通过把花括号内的变量替换为其值来设置字符串的格式。
使用f字符串可以完成很多任务,如利用与变量关联的信息来创建完整的信息,如下所示:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(f"Hello,{full_name.title()}!")

输出

Hello,Ada Lovelace!

还可以使用f字符串来创建信息,再把整条消息赋给变量:

first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
message = f"Hello,{full_name.title()}!"
print(message)

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

制表符 \t

扫描二维码关注公众号,回复: 12011837 查看本文章
>>> print("Python")
Python
>>> print("\tPython")
        Python 

换行符 \n

>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript

可以同时包含

>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
        Python
        C
        JavaScript

删除空白

空白很重要 ‘python’ 和’python '是两个不同的字符串
所幸,Python能够找出字符串开头和末尾多余的空白
rstrip()

>>> favorite_language = 'python   '
>>> favorite_language
'python   '
>>> favorite_language.rstrip()
'python'
>>> favorite_language
'python   '

与变量 favorite_language 相关联的字符串末尾有多余的空白。调用 rstrip() 后,这个多余的空格被删除了,然而,这种删除只是暂时的,接下来再次询问时,依然包括多余的空白。
要永久删除这个字符串中的空白,必须将删除操作的结果关联到变量:

>>> favorite_language = 'python '
>>> favorite_language = favorite_language.rstrip()
>>> favorite_language
'python'

类似的 剔除字符串开头的空白 lstrip() 同时剔除字符串两边的空白 strip()
在实际程序中,这些剔除函数最常用于在存储用户输入前对其进行清理。

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

程序包含非法的Python代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撇号,就会导致错误。这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。

#ex2-4
first_name = 'lao'
last_name = 'wang'
print("小写表示")
print(f"{first_name.lower()} {last_name.lower()}")
print("大写表示")
print(f"{first_name.upper()} {last_name.upper()}")
print("首字母大写")
print(f"{first_name.title()} {last_name.title()}")
#ex-2-6
famous_person = "Albert"
message = '"A personn who never made a mistake never tried anything new."'
print(f'{famous_person} said {message}')
#2-7
name = " Bill "
print(name.rstrip().lstrip())
print(name.strip())

小结:

  • 方法是Python可对数据执行的操作。在name.title()中,name后面的句点(.)让Python对变量name执行title()指定的操作
  • 方法 title() 以首字母大写的方式显示每个单词
  • upper() 将字符串改为全部大写
  • lower() 将字符串改为全部小写
  • f字符串
    • 要在字符串中插入变量的值,可在前引号前面加上字母f,再将要插入的变量放在花括号内。这样,当Python显示字符串时,将把每个变量都替换为其值。
  • 在字符串中添加制表符 \t 添加换行符 \n
  • 删除空白 rstrip() lstrip() strip()

整数

  • 可对整数执行加(+)减(-)乘(*)除(/)运算。
  • 使用两个乘号表示乘方运算
>>> 3 ** 2
9
  • 空格不影响计算表达式的方式

浮点数

Python将所有带小数点的数称为 浮点数

  • 结果包含的小数位数可能时不确定的
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

整数和浮点数

  • 任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:
>>> 4/2
2.0
  • 在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数。
    • 无论是哪种运算,只要有操作数是浮点数,Python默认得到的是总是浮点数,即便原本为整数也如此。

数中的下划线

  • 书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:
>>> universe_age = 14_000_000_000
  • 当你打印这种使用下划线定义的数时,Python不会打印其中的下划线:
>>> print(universe_age)
14000000000
  • 存储这种数时,Python会忽略其中的下划线,这种表示方法适用于整数和浮点数,但只有Python3.6和更高的版本支持。

同时给多个变量赋值

x,y,z=0,0,0

常量

  • 常量类似与变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会使用 全大写 来指出应将某个变量视为常量,其值应始终不变。
MAX_CONNECTIONS = 5000
  • 在代码中,要指出应将特定的常量视为变量,可将其字母全部大写。

注释

  • Python中,注释用井号(#)标识
#向大家问好
print("Hello Python people!")

该编写什么样的注释

  • 编写注释的主要目的是阐述代码要做什么,以及是如何做的。
  • 问问自己:在找到合理的解决方案之前,考虑了多个解决方案吗?如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头再添加注释,删除多余的注释要容易得多。

Python之禅

>>> 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!

猜你喜欢

转载自blog.csdn.net/qq_31714533/article/details/109269344