阅读《Python编程从入门到实践》Day01

接触Python有一小段时间了,所以第一章的内容就快速浏览了一下。以下的笔记从第二章开始记录。
注:所有代码均用PyCharm 2017.1.5书写。

第二章

1、输出“Hello Python world!”

在Python中单引号和双引号均可使用。若要输出单引号,可以用双引号将其括起来;若要输出双引号,则用单引号将其括起来即可。另外,在Python中,语句的末尾不需要分号。

在编辑框输入以下代码:

print('Hello Python world!')

输出结果为:Hello Python world!

2、变量

用一个变量接收需要输出的内容,再将该变量通过print输出。在程序中可随时修改变量的值,即对变量重新赋值,Python将始终记录变量的最新值。

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

3、变量的命名规则及使用

(1)只能包含数字、字母和下划线;
(2)不能以数字开头,不能有空格出现;
(3)区分大小写;
(4)具有一定的意义和描述性;
(5)Python3也支持汉字,但不建议使用;
(6)慎用小写字母l和大写字母O,容易被看错成数字1和0;
(6)不能是关键字。
在编辑框输入以下代码可以获取Python中的所有关键字。

import keyword
print(keyword.kwlist)
# 输出的关键字如下(共33个):
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 
'try', 'while', 'with', 'yield']

4、使用变量时避免命名错误

在你声明了一个变量后,若在使用该变量的过程中拼错了字母,则程序报错。这种错误叫作名称错误NameError,产生这种错误有两种情况:一是使用变量前忘记声明了,二是使用变量时的拼写与声明时的拼写不一致。只要前后的拼写一致就不会报错。

5、字符串的方法

之前输出的“Hello Python world!”就是一个字符串。用引号括起来的都是字符串。
方法是Python可对数据执行的操作,也称为函数。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号里提供的,有一些方法后面的括号是空的,表示它不需要额外的信息便可以完成其工作。

(1)修改字符串的大小写
str = "you are welcome"
print(str.title())
# 输出:
You Are Welcome

从结果可以看出,title()的作用是以首字母大写的方式显示每个单词,也就是将字符串标题化。

str = "You Are Welcome"
print(str.upper())
print(str.lower())
# 输出:
YOU ARE WELCOME
you are welcome

从上述结果可以知道,upper()的作用是将全部的字母改为大写,而lower()的作用正好相反。

(2)合并/拼接字符串
str1 = "I"
str2 = "like"
str3 = "Python"
s1 = "I" + " " + "like" + " " + "Python"
s2 = str1 + " " + str2 + " " + str3
print(s1)
print(s2)
# 输出:
I like Python
I like Python

在Python中使用(+)来合并字符串,这种合并字符串的方法称为拼接。在上面的例子中可以知道无论是通过变量拼接还是直接字符串拼接,都是可以成功执行的。

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

在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。可以通过添加空白增加输出内容的可读性。
制表符: \t

print("Python")
print("\tPython")
# 输出:
Python
    Python

换行符:\n

print("Languages:\nPython\nC\nJava")
# 输出:
Languages:
Python
C
Java

可以同时使用制表符和换行符:

print("Languages:\n\tPython\n\tC\n\tJava")
# 输出
Languages:
    Python
    C
    Java
(4)删除空白

字符串开头或者末尾多余的空白会令人迷惑,所以为了减少一些额外的麻烦,有必要删除多余的空白,增强可读性。

str = "   Python   "
print(str.rstrip())
print(str.lstrip())
print(str.strip())
# 输出
   Python
Python   
Python

rstrip()删除字符串末尾的空格;lstrip()删除字符串开头的空格;strip()同时删除字符串两端的空格。然而,这样的删除只是暂时的,当你再次访问str时,它的前后依然会有空格。若要永久删除空格,就必须将删除操作后的结果重新保存到原来的变量中,下次访问时就不会再有空格了。

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

合理有效地利用单双引号,可以很好的避免语法错误。

(6)Python 2中的print语句
print "Hello Python 2.7 world"
# 输出:
Hello Python 2.7 world

在Python 2中,print输出语句无需将要打印的内容放在括号内。Python 3中的print是一个函数,所以括号必不可少。而在Python 2代码中,有些print语句包括括号,有些不包括。

6、数字

(1)整数

对整数进行加(+)减(-)乘(*)除(/)运算。使用两个乘号表示的是乘方运算。同时,Python还支持运算次序,不过最好加上小括号以方便日后的阅读。

print(5 + 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)
print(5 ** 2)
print(5 + 2*3)
# 输出:
7
3
10
2.5
25
11
(2)浮点数

带有小数点的数字都称为浮点数。

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

当你需要将一个数字与一个字符串一起输出时,直接用加号(+)进行连接,程序会返回一个类型错误。因为加号只能拼接字符串,所以只有将数字转化成字符串类型才可以正常输出。此时,需要用到一个函数str(),它可以将非字符串的值转化为字符串来表示。如:

print("Happy " + str(18) + "th Birthday!")
# 输出:
Happy 18th Birthday!
(4)Python 2中的整数

在Python 2中,整数除法的结果值包含整数部分,小数部分被删除,但这种删除不是四舍五入,而是小数部分直接删除。若要避免这种情况,就必须确保至少有一个操作数是浮点数,这时结果才为浮点数。

print 5 / 2
print 5 / 2.0
# 输出:
2
2.5

7、注释

在Python中,注释用井号(#)来标识。井号后面的内容都会被Python解释器忽略。
在编写程序代码的过程中,最好在程序中添加描述性的注释。清晰、简洁的注释可以提高程序的可读性。

8、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!
# 中文翻译:
Python之禅 by Tim Peters
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,912评论 17 410
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,036评论 1 19
  • 那些你经历的傻逼时候你并不知道到底是出于什么原因让你不由自主的去犯傻;后来的某一天回想起来然后从傻逼中反思累积...
    霸道范阅读 1,270评论 0 0
  • 那些年错过的大雨\那些年错过的爱情\好想拥抱你\拥抱那错过的勇气…… 我们在慢慢成长,成长,成长,有些道理要长大后...
    南方啊北方阅读 156评论 0 1