[python入门到精通系列]新手接触python第一步之基础语法(代码片段)

Python—五四三二幺 Python—五四三二幺     2023-01-14     753

关键词:

新手接触Python第一步之基础语法

Python本身是一种自然编程语言,它和计算机编程语言不同,自然语言在不同的语境下有不同的含义,而计算机要根据编程语言执行任务,就必须要保证编程语言写出的程序不能有歧义,所以任何一种自然编程语言都有一套自己的语法,这些语法会通过编译器或者解释器进行编译解释后最终转换成机器码执行。

所以作为新手,首先要学习Python的基本语法,然后通过Python的基本语法来实现一些功能。

Python学习指引

Python要实现入门到精通,必须要学会以下内容:

1.Python基础2.函数3.高级特性4.函数式编程5.模块6.面向对象7.异常处理8.进程与线程9.网络编程10.IO编程

其实作为自然语言来说,除了语言本身的特性和语法规则的差异外,大部分都是想通的,如果大家学过其他的编程语言,学习Python的时候,仅仅只是熟悉Python的语法而已。

一段程序引出Python的基础

在开始学习Python的基础语法之前,先跟着我通过以下步骤来实现一个简单的程序。

新建项目

1.打开Pycharm编辑器,点击下图“New Project”位置,创建一个Python项目。

1.左侧菜单选择项目类型,”Pure Python”表示纯Python项目,我们选择这个类型即可。右侧菜单的选项说明如下1.Location:当前项目存储的路径2.Python Interpreter:通过下拉菜单选择Python的版本。1.New Environment using:使用系统安装的Python路径和版本,默认是Virtualenv2.Previously configured interpreter:表示选择一个已有的运行环境,其中interpreter表示选择Python安装路径下的文件。3.Create a main.py welcome script:表示默认是否创建一个main.py的文件。作为初学者,可以不需要调整这些配置,直接点击右下角的create按钮,即可完成一个python项目的创建。

1.创建好项目后,得到如下界面,默认创建了一个文件main.py

2.main.py这个表示一个python文件,该文件中可以编写python相关的指令来实现特定功能,默认的代码:

   def print_hi(name):     print("Hi,0".format(name))        if __name__=='__main__':     print_hi('PyCharm')

•print_hi 表示一个函数(什么叫函数,在后面的内容会讲),该函数接受一个参数name,并在函数中通过print(“Hi,0”.format(name))打印了一句话•if __name__=='__main__',这里用到了两个知识点•if,表示条件控制语句,•__name__是python的一个内置属性,它天生就存在于python程序中,代表对应程序的名称,当前文件名为main.py,因此打印__name__的结果是__main__。上述这段代码的整体意思是,加入内置变量__name__的值等于__main__。则调用print_hi函数传递一个字符串PyCharm

•点击

按钮,即可运行main.py文件,最终运行的结果是:

Hi, PyCharm

编写一个简单的程序

1.新建一个python文件,新建方式如下图所示

1.创建一个test.py文件,编写一个“根据输入的的日期,计算该日期在这一年中是第多少天”的程序。

   # coding=utf-8   # 通过input函数,获取用户的输入   year = int(input('year:\\n'))   month = int(input('month:\\n'))   day = int(input('day:\\n'))      # 累计记录没一个月的最后一天   months=[0,31,59,90,120,151,181,212,243,273,304,334]      # 遍历当前输入的月份,并从months数组中得到该月所属的累加日期区间   # 比如输入的是10月,则累加前9个月的天数为273   if 0 < month <=12:       sum=months[month-1]   else:       print('data error')   # 273表示9月最后一天的累加天数,再加上输入的日期day,得到总的天数   sum+=day      # 判断是否是闰年   leap=0   if(year%400==0) or ((year %4==0)) and (year%100!=0):       leap=1   # 如果是闰年,并且输入的月份是大于2,则在总天数上增加一天   if (leap==1) and (month>2):       sum+=1   # 打印最终的结果   print('it is the %dth day.' %sum)

1.在test01.py文件中右键,点击`Run ‘test01’执行该文件。

2.执行结果如下。

作为初学者,上述程序不一定能看懂,下面我们就基于这个程序来了解Python的一些基础语法。

Python基础

在上述程序中,会涉及到Python的基础知识:

1.数据类型和变量2.字符串和编码3.条件控制4.数据结构

数据类型和变量

所谓的数据类型,其实就是用来表示数据所属的一种编码格式,比如年龄,我们可以采用数字来存储,名字可以采用字符存储。

在Python中定义了5个标准的数据类型:

•Numbers(数字)•String(字符串)•List(列表)•Tuple(元组)•Dictionary(字典)

Numbers

数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number 对象就会被创建:

var1=1var2=20

在前面的案例中,有一段代码leap,就是声明一个数值类型的变量。

# 判断是否是闰年leap=0

Python支持四种不同的数字类型:

•int(有符号整型)•long(长整型,也可以代表八进制和十六进制)

注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代。

•float(浮点型)•complex(复数)

一些数值类型的实例:

intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3e+18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2E-124.53e-7j

•长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。

•Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

String

String表示字符串类型,可以用来存储字符型的数据,比如名字、符号等

s1="abcde_111"s2="你好,世界"

在python中,如果想截取一个字符串中的数据比较容易,它的规则如下

•从左到右索引默认0开始的,最大范围是字符串长度少1•从右到左索引默认-1开始的,最大范围是字符串开头

如下图所示,针对PYTHON字符串,如果需要截取字符串中的某些字符,就可以根据索引 使用**[头下标:尾下标]** 来截取相应的字符串。其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

s1="PYTHON"print(s1[1:4])#打印的结果为>>> YTH

当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。

上面的结果包含了 s1[1] 的值 Y,而取到的最大范围不包括尾下标,就是 s[4] 的值 O。

对字符串常规操作中,主要有两种,

(+)加号,表示字符串连接操作•(*)星号,表示重复操作

新建一个test02.py的文件,编写如下代码。

# coding=utf-8s1="PYTHON"print s1        # 输出完整字符串print s1[0]     # 输出字符串中的第一个字符print s1[2:5]   # 输出字符串中第三个至第六个之间的字符串print s1[2:]    # 输出从第三个字符开始的字符串print s1 * 2    # 输出字符串两次print s1 + "--TEST"   # 输出连接的字符串

以上程序运行的结果如下

PYTHONPTHOTHONPYTHONPYTHONPYTHON--TEST

最后,在编写代码的文件中,如果有中文,需要增加# coding=utf-8指令,这个表示设置代码的编码类型。

List

在前面演示的代码中,有这样一行代码,它定义了一年中每个月叠加的日期。

它在Python用来表示列表类型,它可以存储多个元素的集合,下面这段代码存储了12个int类型的数值

months=[0,31,59,90,120,151,181,212,243,273,304,334]

列表类型用List表示,它是Python中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

操作方法和String字符串类型相同,因为实际上String类型也可以表示未一个字符数组。

img

使用方法如下:

# coding=utf-8list1 = ['python', 11, 3.14, 'john', 99]list2 = [331, 'john']print list1  # 输出完整列表print list1[0]  # 输出列表的第一个元素print list1[1:3]  # 输出第二个至第三个元素print list1[2:]  # 输出从第三个开始至列表末尾的所有元素print list2 * 2  # 输出列表两次print list1 + list2  # 打印组合的列表

条件控制

根据输入的的日期,计算该日期在这一年中时第多少天这个程序中,还大量用到了if else这样的代码,这个在Python中表示条件控制语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

image-20211008224700579

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:    执行语句……else:    执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

了解了if else的用法后,再回到前面案例代码,现在看起来应该会比较容易理解。

如果输入的值month在0和12的区间范围,则执行sum=months[month-1],否则执行print(‘data error’);这个判断的目的是保证输入月份的合法性。

if 0 < month <=12:    sum=months[month-1]else:    print('data error')

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

if 判断条件1:    执行语句1……elif 判断条件2:    执行语句2……elif 判断条件3:    执行语句3……else:    执行语句4……

导读:Python入门到精通系列
一、Python如何入门?从零基础到进阶,非常详细的Python速成之路!

二、[Python入门到精通系列]-Python开发工具PyCharm安装和破解

[python入门到精通系列]-python基础入门之函数(代码片段)

...上一篇文章中,我们通过一个案例展开,了解了Python数据类型、变量、条件控制等。这篇文章,继续沿着上一篇文章来了解Python的基础语法。Python的实战案例下面这个案例,是根据用户输入的数字进行排序输出... 查看详情

[python入门到精通系列]-python基础入门之函数(代码片段)

...上一篇文章中,我们通过一个案例展开,了解了Python数据类型、变量、条件控制等。这篇文章,继续沿着上一篇文章来了解Python的基础语法。Python的实战案例下面这个案例,是根据用户输入的数字进行排序输出... 查看详情

python从入门到精通—初识python(代码片段)

Python从入门到精通—初识PythonPython基础知识学习系列博客,持续更新Python从入门到精通—初识PythonPython从入门到精通—初识Python1、Python简介2、认识"Python"3、Python版本4、Python的功能5、Python语言优点6、Python语言缺点1、Py... 查看详情

python从入门到精通—初识python(代码片段)

Python从入门到精通—初识PythonPython基础知识学习系列博客,持续更新Python从入门到精通—初识PythonPython从入门到精通—初识Python1、Python简介2、认识"Python"3、Python版本4、Python的功能5、Python语言优点6、Python语言缺点1、Py... 查看详情

[python入门到精通系列]-python开发工具pycharm安装(代码片段)

Python开发工具PyCharm在上一篇文章中,我分享了为什么要学习Python,在这篇文章中,我们主要了解Python的开发工具。工欲善其事必先利其器,作为Python开发,首先需要了解最基本的开发工具。PyCharm是什么?P... 查看详情

用python2.7编的小游戏

帮你搜到了相关教程。自己用google搜:用Python和Pygame写游戏-从入门到精通(目录)就可以找到了。其是一系列的帖子:系统学习部分用Python和Pygame写游戏-从入门到精通(1)Pygame的历史,安装Pygame,第一个Pygame脚本用Python和Pygame... 查看详情

ros从入门到精通系列(二十六)标准化ros代码风格-.python风格指南

PyStyleGuidePyStyleGuide-ROSWikihttp://wiki.ros.org/PyStyleGuide目录PyStyleGuideCodingStyleTheLoaderPackage/ModuleNames(__init__.pyfiles) 查看详情

[python入门到精通系列]-学会了python的基础语法后,能做什么?(代码片段)

学会了Python的基础语法后,能做什么?学了前面Python的基础语法,我们能做什么呢?在本次文章中我给大家演示一些基础语法的使用,加深大家对Python基础语法的了解。根据输入的字符进行统计下面这段程序&#... 查看详情

opencv|opencv实战从入门到精通系列四--常用函数讲解

点上方蓝字Python人工智能与深度学习社区获取更多干货在右上方 ··· 设为星标 ★,与你不见不散本文为学习笔记记录本文是《OpenCV实战从入门到精通》系列之第4篇:OpenCV|OpenCV实战从入门到精通系列一--OpenCV宏的讲解O... 查看详情

新手学python需要用啥书

参考技术A小白想学python要买什么书?让我们一起了解一下吧!1、《简明python教程》书不厚,非常适合零基础的人自学入门用。不厚的优点就是上手快,提高自信,适合快速学习。2、《Python学习手册:第3版》本书讲述了:Python... 查看详情

python从入门到精通就简单看看python吧(代码片段)

...三连哦。这是Pyhon系列文章的第一篇,本文主要介绍Python的基本概念以及如何安装。干货满满,建议收藏,需要用到时常看看。小伙伴们如有问题及需要,欢迎踊跃留言哦~~~。文章目录说在前面何为Python如何安装Py... 查看详情

ros从入门到精通系列--ros客户端(下)rospy

目录一、rospy、 roscpp二、ROS中Python代码的组织方式三、rospy常用API1、Node相关2、Topic相关 查看详情

ros从入门到精通系列--ros客户端(下)rospy

目录一、rospy、 roscpp二、ROS中Python代码的组织方式三、rospy常用API1、Node相关2、Topic相关 查看详情

python从入门到精通—初识python(代码片段)

Python从入门到精通—初识PythonPython基础知识学习系列博客,持续更新Python从入门到精通—初识PythonPython从入门到精通—初识Python1、Python简介2、认识"Python"3、Python版本4、Python的功能5、Python语言优点6、Python语言缺点1、Py... 查看详情

python从入门到精通—初识python(代码片段)

Python从入门到精通—初识PythonPython基础知识学习系列博客,持续更新Python从入门到精通—初识PythonPython从入门到精通—初识Python1、Python简介2、认识"Python"3、Python版本4、Python的功能5、Python语言优点6、Python语言缺点1、Py... 查看详情

python从入门到精通五万六千字对python基础知识做一个了结吧!(二十八)值得收藏(代码片段)

为什么写这篇文章我从2021年6月13号写下第一篇Python的系列专栏算起,陆续更新了二十七篇Python系列文章。在此感谢读者朋友们的支持和阅读,特别感谢一键三连的小伙伴。本专栏起名【Python从入门到精通】,主要分... 查看详情

python从入门到精通五万六千字对python基础知识做一个了结吧!(二十八)值得收藏(代码片段)

为什么写这篇文章我从2021年6月13号写下第一篇Python的系列专栏算起,陆续更新了二十七篇Python系列文章。在此感谢读者朋友们的支持和阅读,特别感谢一键三连的小伙伴。本专栏起名【Python从入门到精通】,主要分... 查看详情

opencv|opencv实战从入门到精通系列二--opencv图像腐蚀

点上方蓝字Python人工智能与深度学习社区获取更多干货在右上方 ··· 设为星标 ★,与你不见不散本文为学习笔记记录本文是《OpenCV实战从入门到精通》系列之第2篇OpenCV|OpenCV实战从入门到精通系列一--OpenCV宏的讲解图像腐... 查看详情