Python Crash Course读书笔记 - 第2章:Variables and Simple Data Types
变量
文件hello_world.py中, .py
是python文件的后缀,因此会用Python interpreter解析。
$ cat hello_world.py
print("Hello Python world!")
现在改为变量形式,message
即变量,每个变量都与一个值关联:
message = "Hello Python world!"
print(message)
变量名首先要有意义,其次要短。并且不能用关键字如print。另外,和车牌一样,避免用l和O,以免和1和0混淆。例如student_name
强于s_n
,name_length
强于length_of_persons_name
。最后都用小写,因为大写在Python中有特殊的含义。
The best way to understand new programming concepts is to try using them in your programs.
是这么个理,learning by doing
变量不是装东西的盒子,而是标签。就是reference,pointer。
String类型
string是一系列字符,引号中的数据就是string,引号可以是单引号或双引号。这样有时就不需要转义(escape)了。如果需要,转义符仍为\
。
以下使用了方法(method),方法通过.
调用,其后总是跟()
的。方法可以嵌套。
$ cat name.py
name = "long long ago"
print(name.title())
print(name.upper())
print(name.lower())
print(name.lower().upper())
$ python name.py
Long Long Ago
LONG LONG AGO
long long ago
LONG LONG AGO
string中可以带变量,称为f-string,包含在{
和}
之间,类似于C语言printf中的%s
。
f-string在python 3.6后开始支持。因此需要用python3
运行。
$ cat fullname.py
first_name = "ming"
last_name = "xiao"
full_name = f"Hello {first_name} {last_name}!"
print(full_name)
print(f"Hello, {full_name.title()}!")
$ python3 fullname.py
Hello ming xiao!
Hello, Hello Ming Xiao!!
$ vi fullname.py
string中可以加入不可打印字符,如\n
,\t
。
>>> print "Just\tDo\tit!\n"
Just Do it!
空格的处理:
>>> language=' python '
>>> lang = ' python '
>>> lang.rstrip()
' python'
>>> lang.lstrip()
'python '
>>> lang.strip()
'python'
Number类型
分为integer和float。带小数点的都是float。Number类型支持加减乘除操作(+-*/
)。
integer和float的混合操作结果为float,两个integer相除结果为float。
为增加可读性,数字中可带下划线(_
),类似于Excel中的逗号(,
),此特性python 3.6开始支持:
$ python3
Python 3.6.8 (default, Aug 7 2019, 08:02:28)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a=1_234_567
>>> b=1_234.567
>>> a
1234567
>>> b
1234.567
多变量同时赋值:
>>> x, y, z = 0, 0.1, "ok"
常数,变量名建议全部大写:
>>> TIMEOUT=500
注释
hash mark (#
)之后的内容都是注释。
写注释不仅是为自己看懂,更重要的是让别人看懂:
If you want to become a professional programmer or collaborate with other programmers, you should write meaningful comments.
注释要清晰,准确:
Writing clear, concise comments in your code is one of the most beneficial habits you can form as a new programmer.
先写注释再删胜过之前没写后面来补。
Python之禅()
The Zen of Python是编写Python代码的一系列指导原则。
输入import this
查看这些原则,我把部分解读放到了原则上方的注释中:
>>> import this
The Zen of Python, by Tim PetersBeautiful 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!
这里特别提一下Now is better than never
,好像是Martin Fowler说的:
first make it run, then make it faster
也可以说“及时的80分胜过迟到的100”,都是这个意思。
Python Crash Course读书笔记 - 第2章:Variables and Simple Data Types相关推荐
- Python Crash Course读书笔记 - 第19章:USER ACCOUNTS
允许用户输入数据 目前用户数据Topic和Entry都是通过管理站点输入的,我们希望用户可以新增和编辑数据. 允许用户输入和提交数据的Web页面称为form,在Django中可使用ModelForm. ...
- Python Crash Course读书笔记 - 第18章:GETTING STARTED WITH DJANGO
Django是一个web框架.可用来构建交互式网站. 设置项目 首先需要写项目说明书(spec). 然后需要创建虚拟环境(virtual environment). 虚拟环境是一个隔离的环境,可以单独 ...
- Python Crash Course读书笔记 - 第16章:DOWNLOADING DATA
本章首先探索在线公开数据源.然后介绍CSV和JSON格式数据的处理,并分别用Matplotlib和Plotly做可视化. CSV文件格式 CSV(comma-separated values)格式,正 ...
- Python Crash Course读书笔记 - 第15章:GENERATING DATA
数据可视化是指通过可视化的手段探索数据,和数据分析紧密关联.通过代码来探索数据集的模式. 和显示酷炫的图片无关,而是让用户之前并不知道的数据含义和模式. Python被广泛应用于遗传学,气候研究,政治 ...
- 开始读Python Crash Course读书笔记
2020年1月13日晚开始读Python Crash Cours第二版.Crash Course是速成班的意思. 简要信息如下: Python Crash Course, 2nd Edition A ...
- python第三章上机实践_《机器学习Python实践》读书笔记-第三章
<机器学习Python实践>,第三章,第一个机器学习项目 以往目录:橘猫吃不胖:<机器学习Python实践>读书笔记-第一章zhuanlan.zhihu.com 书中介绍了一 ...
- python基础教程读书笔记——第三章 字符串
第三章 字符串 摘要: %s , $x , find() , join() , split() , lower() , title() , strip() 1.字符串格式化 format = &qu ...
- 《Python从入门到实践》读书笔记——第五章 if语句
<Python从入门到实践>读书笔记--第五章 if语句 1. 一个简单示例 cars = ['audi', 'bwm', 'subaru', 'toyota']for car in ca ...
- 《Python从入门到实践》读书笔记——第六章 字典
<Python从入门到实践>读书笔记--第六章 字典 1. 一个简单的字典 alien_0 = {'color': 'green', 'points': 5}print(alien_0[' ...
最新文章
- Win7 防火墙添加端口
- RTOS原理及功能简介
- mysql数据库程序设_MySQL数据库程序设计
- 关于计算机英语素材,计算机专业英语相关素材.doc
- POJ - 3322 Bloxorz I(bfs+状态设计)
- 带参数的RedirectToAction
- 6-2 视频分解图片
- 实践的意义——写给图像处理算法爱好者的建议
- 使用treesoft下的TreeNMS管理和监控redis服务器
- 使用阿里云加速器 配置 Docker 镜像加速器
- matlab xticklabel 旋转,在Matlab中,如何实现xticklabel的旋转?转
- CentOS7常用工具包安装
- Android Logcat输出为何能自动换行输出的原因以及多\n的作用
- #网络流24# 餐巾计划问题
- python Django
- 微信公共平台OAuth接口消息接口服务中间件-wechat-oauth
- 基于Java毕业设计政府采购线上招投标平台源码+系统+mysql+lw文档+部署软件
- 海康三维视频融合监控软件系统免费版,支持移动侦测告警
- html点击出现对勾,css伪类右下角点击出现对号角标表示选中的代码
- 为什么大部分企业面试官都会问GMV,GMV是什么?