百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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

liuian 2025-03-01 14:37 5 浏览

第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]“下划线”的正确写法应为“下画线”。

相关推荐

GANs为何引爆机器学习?这篇基于TensorFlow的实例教程为你解惑!

「机器人圈导览」:生成对抗网络无疑是机器学习领域近三年来最火爆的研究领域,相关论文层出不求,各种领域的应用层出不穷。那么,GAN到底如何实践?本文编译自Medium,该文作者以一朵玫瑰花为例,详细阐...

高丽大学等机构联合发布StarGAN:可自定义表情和面部特征

原文来源:arXiv、GitHub作者:YunjeyChoi、MinjeChoi、MunyoungKim、Jung-WooHa、SungKim、JaegulChoo「雷克世界」编译:嗯~...

TensorFlow和PyTorch相继发布最新版,有何变化

原文来源:GitHub「机器人圈」编译:嗯~阿童木呀、多啦A亮Tensorflow主要特征和改进在Tensorflow库中添加封装评估量。所添加的评估量列表如下:1.深度神经网络分类器(DNNCl...

「2022 年」崔庆才 Python3 爬虫教程 - 深度学习识别滑动验证码缺口

上一节我们使用OpenCV识别了图形验证码躯壳欧。这时候就有朋友可能会说了,现在深度学习不是对图像识别很准吗?那深度学习可以用在识别滑动验证码缺口位置吗?当然也是可以的,本节我们就来了解下使用深度...

20K star!搞定 LLM 微调的开源利器

LLM(大语言模型)微调一直都是老大难问题,不仅因为微调需要大量的计算资源,而且微调的方法也很多,要去尝试每种方法的效果,需要安装大量的第三方库和依赖,甚至要接入一些框架,可能在还没开始微调就已经因为...

大模型DeepSeek本地部署后如何进行自定义调整?

1.理解模型架构a)查看深度求索官方文档或提供的源代码文件,了解模型的结构、输入输出格式以及支持的功能。模型是否为预训练权重?如果是,可以在预训练的基础上进行微调(Fine-tuning)。是否需要...

因配置不当,约5000个AI模型与数据集在公网暴露

除了可访问机器学习模型外,暴露的数据还可能包括训练数据集、超参数,甚至是用于构建模型的原始数据。前情回顾·人工智能安全动态向ChatGPT植入恶意“长期记忆”,持续窃取用户输入数据多模态大语言模型的致...

基于pytorch的深度学习人员重识别

基于pytorch的深度学习人员重识别Torchreid是一个库。基于pytorch的深度学习人员重识别。特点:支持多GPU训练支持图像的人员重识别与视频的人员重识别端到端的训练与评估简单的re...

DeepSeek本地部署:轻松训练你的AI模型

引言:为什么选择本地部署?在AI技术飞速发展的今天,越来越多的企业和个人希望将AI技术应用于实际场景中。然而,对于一些对数据隐私和计算资源有特殊需求的用户来说,云端部署可能并不是最佳选择。此时,本地部...

谷歌今天又开源了,这次是Sketch-RNN

前不久,谷歌公布了一项最新技术,可以教机器画画。今天,谷歌开源了代码。在我们研究其代码之前,首先先按要求设置Magenta环境。(https://github.com/tensorflow/magen...

Tensorflow 使用预训练模型训练的完整流程

前面已经介绍了深度学习框架Tensorflow的图像的标注和训练数据的准备工作,本文介绍一下使用预训练模型完成训练并导出训练的模型。1.选择预训练模型1.1下载预训练模型首先需要在Tensorf...

30天大模型调优学习计划(30分钟训练大模型)

30天大模型调优学习计划,结合Unsloth和Lora进行大模型微调,掌握大模型基础知识和调优方法,熟练应用。第1周:基础入门目标:了解大模型基础并熟悉Unsloth等工具的基本使用。Day1:大模...

python爬取喜马拉雅音频,json参数解析

一.抓包分析json,获取加密方式1.抓包获取音频界面f12打开抓包工具,播放一个(非vip)视频,点击“媒体”单击打开可以复制URL,发现就是我们要的音频。复制“CKwRIJEEXn-cABa0Tg...

五、JSONPath使用(Python)(json数据python)

1.安装方法pipinstalljsonpath2.jsonpath与Xpath下面表格是jsonpath语法与Xpath的完整概述和比较。Xpathjsonpath概述/$根节点.@当前节点...

Python网络爬虫的时候json=就是让你少写个json.dumps()

大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫的问题,提问截图如下:登录请求地址是这个:二、实现过程这里【甯同学】给了一个提示,如下所示:估计很多小伙伴和...