读书笔记——《Python编程从入门到实践》第二章

读书笔记——《Python编程从入门到实践》第二章

在第二章中,我们学习了变量、字符串、数字、注释以及良好编程习惯的相关内容。

  • 变量:如何使用变量;如何规范变量命名;
  • 字符串:字符串是什么;如何修改字符串的大小写;f字符串;给字符串添加空白、删除空白;
  • 数:什么是数,什么是浮点数;数值的运算;数值的表示
  • 注释:如何编写注释;
  • Python之禅:如何编写初优秀的Python代码;

下面对这些内容进行详细说明。

变量

变量是一个用于保存信息的东西,变量保存的信息叫做变量的值。例如,毕加索的全名叫做"巴勃罗·迭戈·何塞·弗朗西斯科·狄·保拉·胡安·纳波穆西诺·玛莉亚·狄·洛斯·雷梅迪奥斯·西普里亚诺·狄·拉·圣地西玛·特里尼达·路易斯·毕加索",现在我们需要用这个名字,但是这么长实在是太不方便了。我们可以定义一个变量name,用这个变量name来保存这么长的名字,如下所示:

name = "巴勃罗·迭戈·何塞·弗朗西斯科·狄·保拉·胡安·纳波穆西诺·玛莉亚·狄·洛斯·雷梅迪奥斯·西普里亚诺·狄·拉·圣地西玛·特里尼达·路易斯·毕加索"
print(name)

当我们需要用到这个名字的时候,就直接使用name就可以了,也就是说name这个变量的值就是毕加索的全名,他们是等价的。

如何使用变量

其实关于如何定义变量,我们在前面已经给出了例子。即是

变量名=变量值

使用变量的时候,只需要拿着变量名做相应的操作即可。例如:

name = "张三"
print(name)

上面示例中第一行,我创建了一个名为name的变量,变量里保存的值是张三。第二行是一个函数调用(关于什么是函数调用可以后面再了解,这里不需要担忧)作用就是将变量name保存的值打印到控制台,这便对变量name进行了使用。

如何规范变量命名

我们知道了变量是用来保存信息的,在代码中我们会经常使用变量。下面看如下两个例子。

  • 第一个例子:

    n = "王二狗"
    a = 20
    
  • 第二个例子

    name = "王二狗"
    age = 20
    

在仅看了一眼之后,是不是发现第二个例子定义的变量会让人比较清晰明了地理解变量保存的是什么内容,我们可以很容易发现name这个变量保存的是姓名,age这个变量保存的是年龄。相反对于变量n和a,你能做出这样的判断吗?估计不行。
上面的例子表明,变量的命名不是随便定义的,它应该有一些规范,否则定义出来的变量要么是错误的,要么我们不能明白其含义是什么。下面给出变量名定义的规范:

  1. 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打头。
  2. 变量名不能包含空格,但能使用下划线来分隔其中的单词
  3. 不要将Python关键字和函数名用作变量名
  4. 变量名应既简短又具有描述性。
  5. 慎用小写字母l和大写字母O,因为它们可能被人错看成数子1和 0。

字符串

我们上面已经介绍了变量,知道了变量可以保存信息。那么这些信息有哪些类型呢?我们接下来要介绍的字符串就是其中一种类型。

字符串是什么

字符串就是一系列的字符,在Python中用引号括起的都是字符串,这个引号可以是单引号也可以是双引号。如下所示:

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

如何修改字符串的大小写

修改字符串的大小写是一个很常见的对字符串的操作,字符串提供的常见的操作包括如下三种:

  • 全部大写,全部大写使用方法upper

    name = "freedom wang"
    print(name.upper()) # 输出FREEDOM WANG
    
  • 全部小写,将字符串全部小写使用方法lower

    name = "FREEDOM WANG"
    print(name.lower()) # 输出freedom wang
    
  • 单词首字母大写,使用方法title

    name = "freedom wang"
    print(name.title()) # 输出Freedom Wang
    

f字符串

f字符串是一种允许你在字符串中使用另一个变量,进而拼凑出新的字符串的字符串。如下所示:

name = "二狗蛋"
message = f"Hello {name}"
print(message) # 输出:Hello 二狗蛋

我们可以看到变量message也是一个字符串,但是在字符串引号前加了一个字母f,这就是f字符串的格式。我们还可以看到message变量的值,有一个花括号括起的name,这便是表示这个花括号要替换成变量name的内容。从输出结果中也可以看到{name}已经被替换成了变量name的值。

给字符串添加空白、删除空白

在字符串的值中可以添加\t表示制表符,\n表示换行。例如:

print("Hello\n\tfreedom")
# 输出结果如下:
# Hello
# 	freedom

删除字符串中多余的空白也是对于字符串的一个常见操作,这里的空白指的是字符串前面和后面的空白部分,而不是字符串中间的空白。有如下三种方法:

  • lstrip():删除字符串左边的空白
  • rstrip():删除字符串右边的空白
  • strip():删除字符串前后的空白

示例如下所示,添加了|来表示字符串的空白

name = "  freedom wang   "
print("|" + name + "|") # 输出:|  freedom wang   |
print("|" + name.lstrip() + "|") # 输出:|freedom wang   |
print("|" + name.rstrip() + "|") # 输出:|  freedom wang|
print("|" + name.strip() + "|") # 输出:|freedom wang|

什么是数,什么是浮点数

数值也是程序中经常需要表达的,例如年龄、金额等等,数又可以分为整数和浮点数。整数很容易理解,那什么是浮点数,浮点数就是带有小数点的数,例如:0.1、1.2等。

数值的运算

数值存在那么肯定就需要运算,数值的运算常见的有加减乘除乘方。在Python程序中,用+执行加操作,-执行减操作,*执行乘法操作,/执行除法操作,**执行乘方操作。如下所示:

myMoney = 100
youMoney = 50

# 执行加法操作
allMoney = myMoney + youMoney # 150

# 执行减法操作
allMoney = myMoney - youMoney # 50

# 执行乘法操作
allMoney = myMoney * youMoney # 5000

# 执行除法操作
allMoney = myMoney / youMoney # 2

# 执行乘方操作
allMoney = myMoney ** 2 # 10000

allMoney = myMoney / youMoney称为一个表达式,在一个表达式中不是只可以进行一个运算的,而是可以进行多个运算的。那问题出现了,当出现多个运算的时候,谁先执行,谁后执行,毕竟执行顺序不同,是会导致不同的结果的。这些优先级跟我们实际使用这些运行时其实是一致的。例如,乘法和除法的优先级要高于加减。括弧里面的优先级最高等等。下面列出了完整的运算符优先级,不用着急记忆,先有个大概的印象就可以:
在这里插入图片描述

数值中的下划线

数值中如果出现下划线,Python会忽略这个下划线。这个有什么作用,这个主要是方便我们,可以更清晰的了解数值。如下所示:

money = 10000000
money = 10_000_000

上例中两个money变量表示的数值是等价的,对于Python程序来说是一样的,但是对于我们来说,加了下划线的money,会更加清晰地了解它的大小。

注释

注释在代码编写中是必不可少的。注释就是代码中一些注释性的说明,这些说明,不是程序,Python解释器会忽略它们,注释只是给开发人员看的,它让程序员可以用一种清晰明了的自然语言表明这个代码是有什么作用的。
Python中如何添加注释,用#即可,在一行#之后的所有内容被认为是注释。如下所示:

name = "freedom" # 这是注释,对代码没有影响
# 这也是注释

Python之禅

如何编写初优秀的Python代码

代码不只是给解释器看的,也是给程序员看的。毕竟写代码不总是自己一个人小打小闹,无论是在工作中,还是给开源组件共享代码等等,都需要跟其他程序员交流。交流的一个很重要的东西就是代码了。所以要编写清晰易懂漂亮的代码,这表明了程序员的能力。
有一些常见的编写代码的建议,例如:简单的代码好过复杂的代码(当然是指都能完成相同功能的情况下)。复杂的代码要编写有用的注释。
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!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
绪论 2. python编程概述 2.1. 知识点 2.2. 良好的编程习惯 2.3. 常见编程错误 2.4. 测试和调试提示 2.5. 移植性提示 3. 控制流程 3.1. 知识点 3.2. 良好的编程习惯 3.3. 常见编程错误 3.4. 移植性提示 3.5. 软件工程知识 4. 函数 4.1. 知识点 4.2. 良好的编程习惯 4.3. 常见编程错误 4.4. 移植性提示 4.5. 软件工程知识 4.6. 性能提示 5. 列表、元组和字典 5.1. 知识点 6. 公共网关接口(CGI)入门 6.1. 知识点 7. 基于面向对象的编程 7.1. 知识点 7.2. 良好的编程习惯 7.3. 常见编程错误 7.4. 测试和调试提示 7.5. 软件工程知识 7.6. 性能提示 8. 自定义类 8.1. 知识点 8.2. 良好的编程习惯 8.3. 常见编程错误 8.4. 软件工程知识 8.5. 性能提示 9. 面向对象编程:继承 9.1. 知识点 9.2. 常见编程错误 9.3. 软件工程知识 9.4. 性能提示 10. 图形用户界面组件(一) 10.1. 知识点 10.2. 良好的编程习惯 10.3. 常见编程错误 10.4. 界面知识 11. 图形用户界面组件(二) 11.1. 知识点 11.2. 测试和调试提示 11.3. 界面知识 12. 异常处理 12.1. 知识点 12.2. 良好的编程习惯 12.3. 常见编程错误 12.4. 测试和调试提示 12.5. 软件工程知识 12.6. 性能提示 13. 字符串处理和正则表达式 13.1. 知识点 13.2. 良好的编程习惯 13.3. 性能提示 14. 文件处理和序列化 14.1. 知识点 14.2. 良好编程习惯 14.3. 常见编程错误 14.4. 性能提示 15. 可扩展标记语言(XML) 15.1. 知识点 15.2. 常见编程错误 15.3. 移植性提示 15.4. 软件工程知识 15.5. 性能提示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值