返回顶部
首页 > 资讯 > 后端开发 > Python >Python3的一些基础语法介绍和理解
  • 723
分享到

Python3的一些基础语法介绍和理解

语法基础 2023-01-31 08:01:16 723人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

作者:心叶时间:2018-04-23 22:18 此处长期维护一些对帮助快速使用python3的一些基础语法,方便日常算法练习使用。 break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终

作者:心叶
时间:2018-04-23 22:18

此处长期维护一些对帮助快速使用python3的一些基础语法,方便日常算法练习使用。

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue语句被用来告诉python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

if条件控制

if 表达式:
    语句
    if 表达式:
        语句
    elif 表达式:
        语句
else:
    语句

while循环

Python中没有do..while循环

while 判断条件:
    语句
else:
    语句

for语句

for <variable> in <sequence>:
    <statements>
else:
    <statements>

range()函数

这个函数不得不提,为什么滴?因为在实际用python练习算法题目时,这个函数真的用的太频繁了。

print(list(range(5,9))) #[5, 6, 7, 8]

for i in range(5):print(i,end=' ') #0 1 2 3 4

for i in range(1,3):print(i,end=' ') #1 2

for i in range(0, 10, 3):print(i,end=' ') #0 3 6 9

for i in range(-10, -100, -30):print(i,end=' ') #-10 -40 -70
    

迭代器

迭代器是什么东西?哈哈,有没有想起java中集合的方法iterator()返回迭代器?是的,就是类似这个的存在。

迭代器有两个基本的方法:iter() 和 next(),这点也很类似java(字符串,列表或元组对象都可用iter()方法创建迭代器对象)。

下面先简单演示一下这二个方法的用法:

list=['中国','美国','俄罗斯','埃塞俄比亚']

#1.使用iter()方法获取迭代器对象
it = iter(list) 

#2.使用next()方法依次获取数据
print (next(it)) #打印结果是'中国'
print (next(it)) #打印结果是'美国'

上面的例子应该已经明白这二个方法的用法了,使用iter()方法获取迭代器对象,再用next(it)方法依次获取集合的数据。

当然,到末尾了已经没有可以取的数据的时候,再次调用会抛出异常,因此我们可以借助这个来实现迭代全部的数据,如下:

list=['中国','美国','俄罗斯','埃塞俄比亚']

it = iter(list)  

flag=True; 

while flag:

    try:
        print (next(it))
        
    except StopIteration:
        print ('迭代结束了',end='\n')
        flag=False

除此之外,使用for可以实现类似的效果,如下:

list=['中国','美国','俄罗斯','埃塞俄比亚']

it = iter(list)

for x in it: 
    print (x, end=" ") #'中国','美国','俄罗斯','埃塞俄比亚'

因此,迭代全部的数据肯定不是迭代器存在的全部意义,更多的时候,你可以把它看成一个管理一列数据的对象,需要的时候告诉他一下,他就会给你下一个数据,不像for循环那样一下子迭代结束,你可以在任何需要的时候获取下一个数据。

记住这一个特点,特别是在设计算法或者模式的时候,会很有用的(当然,具体用好他从来都是经验的事情,祝你好运)。

生成器

TS或者es6+有所了解的人应该都知道yield函数,基本上和这里的差不多用法。

在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。

上面的说法可能有点不好理解,ok,下面用大白话说一下:

生成器就是一个可以自定义一个生成迭代器对象函数的概念,生成的迭代器对象每次被询问返回下一个数据的时候,自定义的如果返回,使用的就是yield函数,先看下下面的例子:

#定义一下可以生成迭代器对象的函数,类似上面例子中的iter()方法
def generatorDemo(array):
    index=0
    while(index<len(array)):
        #你每次调用next(it)的时候,就是这里返回给你的数据
        yield array[index]
        index=index+1

#用上面的迭代器对象生成函数生成一个迭代器对象
it=generatorDemo(['中国','美国','俄罗斯','埃塞俄比亚'])
 
#下面就是和之前一样使用
flag=True
while flag:
    try:
        print (next(it), end=" ")
    except StopIteration:
        flag=False

#执行结果:中国 美国 俄罗斯 埃塞俄比亚 
        

因此,你可以从二个角度来理解生成器:

1.一个和迭代器配合使用的迭代器对象生成方法;

2.更本质的理解:yield类似return,可以返回数据,不过不同的是,可以多次返回数据,调用一下返回一下,再次调用返回下一个yield定义返回数据的地方,就如同上面的例子,直到yield语句全部完毕再次调用会抛出错误。

如果你问我什么时候使用他,这具体看业务需求,就好比if语句一样,他就在那里,需要用的时候可以记起来他,就够了。

具体就不用多说明了,直接给出定义,然后说几个重要的问题。

def 函数名(参数列表):
    函数体

参数传递

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

函数中传递参数的时候,不可更改的对象和可以修改的对象在操作影响上是有很大区别的,用一句话说明的话就是:不可更改的对象类似传递的是值,可以修改的对象传递的是'指针',也就是引用传递,应该可以感受出来区别了吧。

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

参数

参数有四点,具体的很多和ES很像,不过在第一点上和ES区别很大,下面来简单说明一下:

1.必需参数:就是你定义函数的时候,定义了几个参数,调用的时候就要传递几个,当然是普通定义方法,不包括下面的不定长参数,这点ES就很随意了;

2.关键字参数:举个例子,比如你定义了一个函数有二个参数age和name,函数名称是getInfo,正常调用是依次传递参数:getInfo(7,'yelloxing'),当然你可以不这样,你还可以这样:

getInfo(name='yelloxing',age=7);

3.默认参数:这个就和ES6差不多意思,举例,定义函数时(没有写全,值写函数头部):

getInfo(age,name='默认名称');

4.不定长参数:定义方法:getInfo(age,name,*vartuple),这样多传递的数据就全部在vartuple中,调用前它是一个空元组。

别的更多细节说明就到此为止,如果后续有必要再添加或单独整理,此时的已经够用了。

--结束END--

本文标题: Python3的一些基础语法介绍和理解

本文链接: https://lsjlt.com/news/193398.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3的一些基础语法介绍和理解
    作者:心叶时间:2018-04-23 22:18 此处长期维护一些对帮助快速使用python3的一些基础语法,方便日常算法练习使用。 break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终...
    99+
    2023-01-31
    语法 基础
  • Promise的原理和基础用法介绍
    这篇文章主要介绍“Promise的原理和基础用法介绍”,在日常操作中,相信很多人在Promise的原理和基础用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Promis...
    99+
    2024-04-02
  • Python基础语法介绍(1)
    环境配置 开发平台:Mac OS Version 10.13.2 开发工具安装 Python3.6.5 官网安装网址:https://www.python.org/downloads/ Pycharm 官网安装网址:http://w...
    99+
    2023-01-31
    语法 基础 Python
  • Python基础语法介绍(3)
    基本概念、特性 顺序存储相同/不同类型的元素 定义:使用()将元素括起来,元素之间用“,”括开 特性:不可变,不支持添加,修改,删除等操作 查询:通过下标查询元组指定位置的元素 其他 空元组定义:non_tuple = () 只包含一...
    99+
    2023-01-31
    语法 基础 Python
  • python3第一天(基础语法)
    对于python3的应用程序,解释器用/usr/bin/python3(python3如果不在此目录下,更换到相应目录).对于运行,可以对写的脚本添加执行权限,也可以用指定的程序来执行(如:python3 ./脚本)默认情况下,Python...
    99+
    2023-01-31
    语法 基础
  • Python3 基础语法详解
    目录编码标识符python保留字注释行与缩进多行语句数字(Number)类型字符串(String)空行等待用户输入同一行显示多条语句多个语句构成代码组print 输出import 与...
    99+
    2024-04-02
  • Kotlin 基础语法详细介绍
    Kotlin 基础语法详细介绍基础语法定义包名包名的定义应当在源文件的头部package my.demoimport java.util.*// ......
    99+
    2023-05-31
    kotlin 基础语法
  • ES6基础语法之对象介绍
    一、对象和属性和方法 JavaScript中对象: var person={name:"Jack",age:20}; 或: var name = "jack"; var age = ...
    99+
    2024-04-02
  • ES6基础语法之函数介绍
    一、函数参数的扩展 ES6支持参数的默认值: function fn(name,age,sex="男") { console.log(`大家好,我是${name},性别${sex}...
    99+
    2024-04-02
  • ES6基础语法之class类介绍
    一、class基本语法 JavaScript 语言中,编写一个学生类,代码如下:(prototype可以个对象添加属性和方法) function Student(stuno,stun...
    99+
    2024-04-02
  • Python学习之基础语法介绍
    目录前言基础语法编码注释行与缩进多行语句import与from…import前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编...
    99+
    2024-04-02
  • 一些有关MySQL基础知识介绍
    本文主要给大家介绍 一些有关MySQL基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下 一些有关MySQL基础知识吧。&n...
    99+
    2024-04-02
  • ES6基础语法之模块化介绍
    ES6 引入了模块化, ES6 的模块化分为导出(export) @与导入(import)两个模块。 ES6模块化特点: (1)ES6 的模块自动开启严格模式,不管你有没有在模块头部...
    99+
    2024-04-02
  • Python2和Python3的一些语法
    pythonPython2和Python3的一些语法区别1.print2.input3. python3版本相对2版本的部分其他区别问题:为何会出现乱码的情况问题:如何获取编码方式的信息?问题:在控制台上看到的到底是什么?1.print在版...
    99+
    2023-01-31
    语法
  • JavaScript基础语法与数据类型介绍
    目录一、JavaScript语法1、区分大小写2、标识符3、注释4、变量二、JavaScript的数据类型1、Undefined类型2、Null类型3、Boolean类型4、Numb...
    99+
    2024-04-02
  • linux下rsync的基础介绍和高级用法
    这篇文章主要介绍“linux下rsync的基础介绍和高级用法”,在日常操作中,相信很多人在linux下rsync的基础介绍和高级用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下rsync的基础介...
    99+
    2023-06-05
  • PLSQL一些实用语法介绍
    并行查询:取并集,也就是所有的数据(select deptno from emp)union(select deptno from dept);交集查询: 取两个表的交集,结果...
    99+
    2024-04-02
  • Csh的基本语法介绍
    在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh. sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh。 bash来自...
    99+
    2022-06-04
    语法 Csh
  • Dockerfile的基本语法介绍
    这篇文章主要讲解了“Dockerfile的基本语法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dockerfile的基本语法介绍”吧!Dockerfile的组成Dockerfile分为...
    99+
    2023-06-04
  • HTML5 canvas的基本语法介绍
    本篇内容主要讲解“HTML5 canvas的基本语法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5 canvas的基本语法介绍”吧!canvas ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作