Python编程 从入门到实践——第2章 变量和简单数据类型

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

运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。

2.2 变量

# hello_world.py
message = "Hello Python world!"
print(message)

每个变量都指向一个值——与该变量相关联的信息。

# hello_world.py
message = "Hello Python world!"
print(message)

message = "Hello Python Crash Course world!"
print(message)

在程序中可随时修改变量的值,而Python将始终记录变量的最新值。

2.2.1 变量的命名和使用

使用变量需要遵守的一些规则和指南:
1、变量名只能包含字母、数字和下划线。变量名能以字母和下划线打头,单不能以数字打头。
2、变量名不能包含空格,但能使用下划线来分隔其中的单词。
3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。附录A.4
4、变量名应既简短又具有描述性。
5、慎用小写字母l和大写字母O,因为他们可能被人错看成数字1和0。

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

名称错误:Python无法识别你提供的变量名。
(1)使用变量前忘记给它赋值
(2)输入变量名时拼写不正确

2.2.3 变量是标签

变量是可以赋给值的标签,变量指向特定的值。

2.3 字符串

字符串就是一系列字符。
在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。

"This is a string"
'This is also a string'

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

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

#name.py
name = "ada lovelace"
# name.title()中,name后面的句点让Python对变量name执行方法title()指定的操作
# 方法title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改成大写
print(name.title())
# 方法upper()将字符串改为全部大写
print(name.upper())
# 方法lower()将字符串改为全部小写
print(name.lower())

方法是Python可对数据执行的操作。每个方法后面都跟着已对圆括号,这是因为方法通常需要额外的信息来完成其工作。

2.3.2 在字符串中使用变量

#full_name.py
first_name = "ada"
last_name = "lovelace"
# 要在字符串中插入变量的值,可在前引号前加上字母f,再将要插入的变量放在花括号内
# 当Python显示字符串时,把每个变量都替换为其值
# 这种字符串名为f字符串。f是format的简写
full_name = f"{first_name} {last_name}"
# Python3.5以前的版本需要使用format()语法
full_name = "{} {}".format(first_name, last_name)
print(full_name)

print(f"Hello, {full_name.title()}!")

message = f"Hello, {full_name.title()}!"
print(message)

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

空白泛指任何非打印字符,如空格、制表符和换行符。

print("Python")
# 要在字符串中添加制表符,可使用字符组合\t
print("\tPython")
# 要在字符串中添加换行符,可使用字符组合\n
print("Languages:\nPython\nC\nJavaScript")
print("Languages:\n\tPython\n\tC\n\tJavaScript")

2.3.4 删除空白

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

favorite_language = 'python '
print(favorite_language)
# 要确保字符串末尾没有空白,可使用方法rstrip()
print(favorite_language.rstrip())
print(favorite_language)
# 要永久删除这个字符串中的空白,必须将删除操作的结果关联到变量:
favorite_language = favorite_language.rstrip()
print(favorite_language)

favorite_language = ' python '
print(favorite_language.rstrip())
# 剔除字符串开头的空白
print(favorite_language.lstrip())
# 剔除字符串两边的空白
print(favorite_language.strip())

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

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

# apostrophe.py
# 撇号位于两个双引号之间,因此Python解释器能够正确地理解这个字符串
message = "One of Python's strengths is its diverse community"
print(message)
# 如果使用单引号,Python将无法正确地确定字符串的结束位置
message = 'One of Python's strengths is its diverse community'
print(message)

2.4 数

2.4.1 整数

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。

>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

在终端会话中,Python直接返回运算结果。
Python使用两个乘号表示乘方运算:

>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

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

>>> 2 + 3 * 4
14
>>> (2 + 3) * 4
20

空格不影响Python计算表达式的方式。

2.4.2 浮点数

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

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4
# 需要注意:结果包含的小数位数可能是不确定的
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

2.4.3 整数和浮点数

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

>>> 4 / 2
2.0
>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

2.4.4 数中的下划线

书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读。当你打印这种使用下划线定义时,Python不会打印其中的下划线。这是因为存储这种数时,Python会忽略其中的下划线。这种表示法适用于整数和浮点数。

universe_age = 14_000_000_000
print(universe_age)

2.4.5 同时给多个变量赋值

可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。这种做法最常用于将一系列数赋给一组变量。需要用逗号将变量名分开;对于要赋给变量的值,也需同样处理。

>>> x, y, z = 0, 0, 0

2.4.6 常量

常量类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会使用全大写来指出应将某个变量视为常量,其值应始终不变。

MAX_CONNECTIONS = 5000

2.5 注释

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

2.5.1 如何编写注释

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

# comment.py
# 向大家问好
print("Hello Python people!")

2.5.2 该编写什么样的注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。

2.6 Python之禅

Python之禅:优秀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!

2.7 小结

在本章中,你学习了:如何使用变量;如何创建描述性变量名以及如何消除名称错误和语法错误;字符串是什么,以及如何使用小写、大写和首字母大写方式显示字符串;使用空白来显示整洁的输出,以及如何剔除字符串中多余的空白;如何使用整数和浮点数;一些使用数值数据的方式。你还学习了如何编写说明性注释,让代码对你和其他人来说更容易理解。最后,你了解了让代码尽可能简单的理念。
在第3章,你将学习如何在被称为列表的变量中存储一系列信息,以及如何通过遍历列表来操作其中的信息。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值