龙空技术网

Python编程入门!66个学习笔记,轻松化解学习障碍

电子工业出版社 9723

前言:

如今你们对“python从键盘输入5个字符统计0字符出现的次数”可能比较珍视,同学们都需要学习一些“python从键盘输入5个字符统计0字符出现的次数”的相关文章。那么小编也在网摘上网罗了一些有关“python从键盘输入5个字符统计0字符出现的次数””的相关资讯,希望大家能喜欢,大家一起来学习一下吧!

第1章 Python编程基础

数据的输入与输出操作是计算机的基本操作。本章主要介绍基本的输入与输出操作,基本输入是指从键盘上输入数据的操作,基本输出是指在屏幕上显示输出结果的操作。

1.1 基本输入和输出

常用的输入与输出设备有很多,如摄像机、扫描仪、话筒、键盘等都是输入设备,经过计算机解码后在显示器或打印机等终端输出显示。而基本的输入与输出是指我们平时从键盘上输入字符,然后在屏幕上显示。

1.1.1 使用print()函数进行简单输出

微课视频

在Python中,使用内置的print()函数可以将结果输出到IDLE或标准控制台上。print()函数的基本语法格式如下:

其中,输出内容可以是数字和字符串(字符串需要使用引号括起来),此类内容将直接输出;也可以是包含运算符的表达式,此类内容将计算结果输出。例如:

学习笔记

在Python中,默认情况下一条print()语句输出后会自动换行,如果想要一次输出多个内容,而且不换行,则可以使用英文半角的逗号将要输出的内容分隔。下面的代码将在一行输出变量a和b的值:

在编程时,我们输入的符号可以使用ASCII码的形式输入。ASCII码是美国信息交换标准码,最早只有127个字母被编码到计算机里,也就是英文大小写字母、数字和一些符号,如大写字母A的编码是65,小写字母a的编码是97。通过ASCII码显示字符,需要使用chr()函数进行转换。例如:

ASCII码在编程时经常会用到,学习时要掌握ASCII码值的一些规律。常用字符与ASCII码对照表如表1.1所示。

表1.1 常用字符与ASCII码对照表

随着计算机技术的深入发展,在计算机中不但需要存储和使用基本的英文字符,还需要存储俄语、汉语、日语等文字或符号,随之出现了多种版本的信息转换编码,如Unicode\UTF-8等。Python 3.0以Unicode为内部字符编码。Unicode采用双字节16位来进行编号,可编65536个字符,基本上包含了世界上所有的语言字符,它也就成为全世界一种通用的编码方式,而且用十六进制4位表示一个编码,非常简洁直观,被大多数开发者所接受。打印汉字可以直接使用U+编码的形式,如打印汉字“生化危机”和“中国”的代码如下:

使用print()函数,不但可以将内容输出到屏幕,还可以输出到指定文件。例如,将一个字符串“要么出众,要么出局”输出到“D:\mr.txt”文件中,代码如下:

执行上面的代码后,将在“D:\”目录下生成一个名为mr.txt的文件,该文件的内容为“要么出众,要么出局”,如图1.1所示。

图1.1 mr.txt文件的内容

是否可以将当前年份、月份和日期也输出呢?当然可以,但需要先调用datetime模块,并且按指定格式才可以输出相应日期。例如,要输出当前年份和当前日期时间,代码如下:

1.1.2 使用print()函数进行复杂输出

print()函数可以实现比较复杂的内容输出,print()函数的完整语法格式如下:

参数说明如下。

●value:表示要输出的值;可以是数字、字符串、各种类型的变量等。

●…:值列表,表示可以一次性打印多个值;在输出多个值时,需要使用“,”(英文半角的逗号)分隔,打印出来各个值之间默认用空格隔开。

●sep:表示打印值时,各个值之间的间隔符,默认值是一个空格,可以设置为其他的分隔符。

●end:表示打印完最后一个值需要添加的字符串,用来设定输出语句以什么结尾,默认是换行符“\n”,即打印完会跳到新行,可以换成其他字符串,如end='\t' 或end=' ' 等。

●file:表示输出的目标对象,可以是文件也可以是数据流,默认是sys.stdout。可以设置“file = 文件储存对象”,把内容存到该文件中。

●flush:表示是否立刻将输出语句输出到目标对象,flush值为False或True。当flush=False时,表示输出值会存在缓存;当flush=True时,表示输出值强制写入文件。

学习笔记

(1)如果print()函数不传递任何参数,则会输出end参数的默认值,即打印一个空行。

(2)sep和end的参数必须是字符串,或者为None。当为None时意味着将使用其默认值。

(3)sep、end、file、flush都必须以命名参数方式传参,否则会被当作需要输出的对象。

■ 多条print()输出到一行显示

print()函数默认输出结束后以换行结束,即end的默认值是换行符“\n”,打印完会跳到新行。如果打印完不换行,只需将end设置成其他字符串,如end='\t' 、end=' '或end='<<'特殊符号等。下面将数字0~9输出到一行显示。

■ 使用连接符连接多个字符串

数值类型可以直接输出,当使用“+”连接数值和其他数据类型时,系统默认为是加法计算,会报错。可以使用“,”连接,或者将数值作为字符串来处理,两端加单引号或双引号。例如:

■ 特殊文字、符号、标志输出

Windows10的表情包提供了大量图标和特殊符号,在Pycharm下可以输出大部分表情包。Python自带的IDE只能输入部分特殊字符。利用Windows10表情包输入特殊符号代码如下:

# 在Windows10环境下,将输入法切换到微软输入法,使用Ctrl+Shift+B组合键可以调出表情包

调用系统提供的字符映射表,也可以在Pycharm下输出特殊符号和标志。

按Win+R组合键(Win键见图1.2),输入“charmap”,调出字符映射表。单击想要插入程序中的特殊符号,特殊符号将被放大显示,如图1.3所示。记住放大显示的特殊符号旁边的字符码。如要输入,它的字符码为0x43,在0x和43之间加入f0(零),即0xf043,然后就可以通过chr()函数进行输出,代码如下:

输出结果为:

图1.2 Win键

图1.3 选择特殊符号

如果知道十进制字符编码的值也可以很方便地输入特殊符号。如要输入“←”,只要知道该符号的十进制字符编码为“8592”即可,编写代码:

输出结果为:

1.1.3 使用input()函数输入

微课视频

在Python中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本语法格式如下:

其中,variable为保存输入结果的变量,双引号内的文字用于提示要输入的内容。例如,想要接收用户输入的内容,并保存到变量tip中,可以使用下面的代码:

在Python 3.x中,无论输入数字还是字符都将被作为字符串读取。如果想要接收数值,则需要把接收到的字符串进行类型转换。例如,想要接收整型的数字并保存到变量num中,可以使用下面的代码:

前面介绍了使用ASCII码值输出相关字符,那么想要获得字符对应的ASCII码值该如何实现呢?通过ord()函数可以将字符的ASCII码值转换为数字,下面代码根据输入的字符,输出相应的ASCII码值,代码如下:

如果输入字符“A”,则输出结果为“A的ASCII码值为65”。如果输入数字“5”,则输出结果为“5的ASCII码值为53”。

1.2 注释

微课视频

注释是指在代码中对代码功能解释说明的标注性文字,可以提高代码的可读性。注释的内容将被Python解释器忽略,并不会在执行结果中体现出来。

在Python中,通常包括3种类型的注释,分别是单行注释、多行注释和中文声明注释。

1.2.1 单行注释

在Python中,使用“#”作为单行注释的符号。从符号“#”开始直到换行为止,其后面所有的内容都作为注释的内容而被Python解释器忽略。

语法格式如下:

单行注释可以放在要注释代码的前一行,也可以放在要注释代码的右侧。例如,下面的两种注释形式都是正确的。

第一种形式:

第二种形式:

1.2.2 多行注释

在Python中,并没有一个单独的多行注释标记,而是将包含在一对三引号('''……''')或("""……""")之间的代码都称为多行注释。这样的代码将被Python解释器忽略。由于这样的代码可以分为多行编写,所以也可以作为多行注释。

语法格式如下:

或者

多行注释通常用来为Python文件、模块、类或函数等添加版权、功能等信息,例如,下面代码将使用多行注释为程序添加功能、开发者、版权、开发日期等信息。

多行注释也经常用来解释代码中重要的函数、参数等信息,以便于后续开发者维护代码,例如:

多行注释其实可以采用单行代码多行书写的方式实现,如上面的多行注释可以写成如下形式:

1.2.3 中文声明注释

在Python中编写代码时,如果用到指定字符编码类型的中文编码,则需要在文件开头加上中文声明注释,这样可以在程序中指定字符编码类型的中文编码,不至于出现代码错误。所以说,中文声明注释很重要。Python 3.x提供的中文声明注释语法格式如下:

或者

例如,保存文件编码格式为UTF-8,可以使用下面的中文声明注释:

一个优秀的程序员,为代码添加注释是必须要做的工作。但要确保注释的内容都是重要的事情,看一眼就知道是干什么的,无用的代码是不需要添加注释的。

学习笔记

在上面的代码中,“-*-”没有特殊的作用,只是为了美观才加上的,所以上面的代码也可以使用“# coding:utf-8”代替。

1.3 代码缩进

微课视频

Python不像其他程序设计语言(如Java或C语言)采用大括号“{}”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。

学习笔记

缩进可以使用空格键或Tab键实现。使用空格键时,在通常情况下采用4个空格作为一个缩进量,而使用Tab键时,则采用一个Tab键作为一个缩进量。在通常情况下建议采用空格进行缩进。

在Python中,对于类定义、函数定义、流程控制语句,以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。

在IDLE开发环境中,一般以4个空格作为基本缩进单位。不过也可以选择“Options”→“Configure IDLE”菜单项,在打开的“Settings”对话框的“Fonts/Tabs”选项卡中修改基本缩进量。

学习笔记

在IDLE开发环境的文件窗口中,可以通过选择“Format”→“Indent Region”菜单项(或按Ctrl+]组合键),将选中的代码缩进(向右移动指定的缩进量),也可以通过选择“Format”→“Dedent Region”菜单项(或按Ctrl+[组合键),对代码进行反缩进(向左移动指定的缩进量)。

1.4 编码规范

微课视频

Python采用了PEP 8作为编码规范,其中PEP是Python Enhancement Proposal的缩写,其中文含义是Python增强建议书,而“PEP 8”中的“8”表示版本号。PEP 8是Python代码的样式指南。下面给出PEP 8编码规范中的一些应该严格遵守的条目。

●每个import语句只导入一个模块,尽量避免一次导入多个模块。如图1.4所示为推荐写法,而如图1.5所示为不推荐写法。

图1.4 推荐写法

图1.5 不推荐写法

●不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。例如,如图1.6所示的代码是不规范的写法。

图1.6 不规范写法

●建议每行不超过80个字符,如果超过,则建议使用小括号“()”将多行内容隐式地连接起来,而不推荐使用反斜杠“\”进行连接。例如,一个字符串文本不能够在一行上显示,则可以使用小括号“()”将其分行显示,代码如下:

例如,以下通过反斜杠“\”进行连接的做法是不推荐使用的。

不过以下两种情况除外。

●导入模块的语句过长。

●注释里的URL。

»使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。

»在通常情况下,运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔。

»应该避免在循环中使用“+”和“+=”运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐将每个子字符串加入列表,然后在循环结束后使用join()方法连接列表。

»虽然适当使用异常处理结构可以提高程序容错性,但是不能过多依赖异常处理结构,适当的显式判断还是必要的。

1.5 命名规范

微课视频

命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以使人们更加直观地了解代码所代表的含义。本节将介绍Python常用的一些命名规范。

●模块名尽量短小,并且全部使用小写字母,可以使用下画线[1]分隔多个字母。例如,game_main、game_register、bmiexponent都是推荐使用的模块名称。

●包名尽量短小,并且全部使用小写字母,不推荐使用下画线。例如,com.mingrisoft、com.mr、com.mr.book都是推荐使用的包名称,而com_mingrisoft是不推荐使用的包名称。

●类名采用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。

学习笔记

Pascal是以纪念法国数学家布莱士·帕斯卡(Blaise Pascal)而命名的一种编程语言,Python中的Pascal命名法就是根据该语言的特点总结出来的一种命名方法。

●模块内部的类采用下画线“_”+Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。

●函数、类的属性和方法的命名规则同模块的命名规则类似,也是全部使用小写字母,多个字母之间使用下画线“_”分隔。

●常量命名时采用全部大写字母,可以使用下画线。

●使用单下画线“_”开头的模块变量或函数是受保护的,在使用from xxx import*语句从模块中导入时,这些模块变量或函数不能被导入。

●使用双下画线“__”开头的实例变量或方法是类私有的。

[1]“下划线”的正确写法应为“下画线”。

标签: #python从键盘输入5个字符统计0字符出现的次数