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

news/2024/7/19 12:25:36 标签: python, pycharm, 爬虫, 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安装和破解


http://www.niftyadmin.cn/n/1360036.html

相关文章

打包jar问题

一. 先说一下一般是动态布局最好&#xff0c;效率高&#xff0c;动态就是java写布局&#xff0c;这是 老外的专长&#xff0c;一般res目录是不能打包的&#xff0c;布局动态写&#xff0c;其余的就是图片什么的了&#xff0c;可以建一个assess文件夹&#xff0c;把图片放里面&a…

[Python入门到精通系列]-Python基础入门之函数

在上一篇文章中&#xff0c;我们通过一个案例展开&#xff0c;了解了Python数据类型、变量、条件控制等。这篇文章&#xff0c;继续沿着上一篇文章来了解Python的基础语法。 Python的实战案例 下面这个案例&#xff0c;是根据用户输入的数字进行排序输出&#xff0c;主要用到…

关于银行等带有安全控件插件的输入selenium无法sendkeys的解决方案

前言 最近在做与银行等第三方交互的UI测试发现&#xff0c;selenium对带有安全控件的输入框senkeys不起作用&#xff0c;此时需要换思路解决。放弃selenium的输入。以下是自己整理的解决方案&#xff0c;供大家参考&#xff0c;如有不对&#xff0c;请指正。 解决方案 采用第三…

[Python入门到精通系列]-学会了Python的基础语法后,能做什么?

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

37张思维导图,记录纯小白五天速通Python的学习笔记

需要收藏的beginner可以加我的Python学习交流群&#xff1a;956331022&#xff0c;导图源文件放在群公告中&#xff0c;可直接下载&#xff01;群内还有其他python相关的电子书籍与学习资源&#xff01; 一、Python基础篇 二、Python函数 需要收藏的beginner可以加我的Python…

Python爬虫——刚学会爬虫,第一次实践就爬取了 《长津湖》影评数据

思路&#xff1a; 数据采集清洗入库分析处理 1. 数据采集 接口地址 https://m.maoyan.com/mmdb/comments/movie/257706.json?_v_yes&offset15&startTime解析地址&#xff1a; 257706 代表电影ID 长津湖 offset15 代表&#xff1a;每次加载多少条数据15条 start…

Luogu P3459 [POI2007]MEG-Megalopolis(线段树)

P3459 [POI2007]MEG-Megalopolis 题意 题目描述 Byteotia has been eventually touched by globalisation, and so has Byteasar the Postman, who once roamedthe country lanes amidst sleepy hamlets and who now dashes down the motorways. But it is those strolls inthe…

Python就该这样学,我是如何2个月快速掌握Python的!学习大纲+学习方式+学习资料 汇总!

一、学习建议 1、找到自己感兴趣的方向&#xff0c;并且结合市场需求进行选择 Python的应用范围 测试运维web人工智能大数据爬虫及数据分析办公自动化2、学习过程中一定要勤加练习&#xff0c;并且尝试去使用学习过的内容实现一些简答的功能 遇到技术问题不要慌&#xff0c;解…