[Python入门到精通系列]新手接触Python第一步之基础语法

Posted 训练营资料福利官

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python入门到精通系列]新手接触Python第一步之基础语法相关的知识,希望对你有一定的参考价值。

新手接触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