第2.2节 Python的语句
上节已经介绍了极简的Python代码编写,已经用到了赋值语句,本节对Python的程序语句进行介绍。
一、 常用命令
在介绍Python语句之前,先介绍一下几个有用的Python命令。
- dir(模块名或类名或变量名或表达式名):获得当前模块、变量对应类型、表达式计算值对应类的属性列表
- type(变量名或表达式名):获取变量或表达式计算值的对应类型;
- help(类名)或help(类名.属性或方法名)或help(变量.属性或方法名),如:help(name.count):给出参数对应的帮助说明,需要说明的是一个变量如果是系统的类型或类实例,通过变量名.方法或属性能找到该类型或类的帮助。
二、 Python的命名建议
1、 文件名:全小写,可使用下划线
2、 函数名:小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function,大小写混合不推荐使用;
3、 变量:变量名全部小写,由下划线连接各个单词。
三、 Python的基本程序语句
1、 注释语句
Python中注释使用#开头,只能做单行注释,如果是多行,可以采用每行加#号。
2、 import语句
import语句是引入已经定义好的模块,供需要使用的模块使用。有两种语法:
import 模块名
from 模块名import 方法或属性名
from 模块名import *
这三者的区别是,第一种方法将整个模块都引入,可以使用这个模块所有的属性和方法,使用前需要带模块名的方式调用;第二种方法是只引入某个属性或方法,第三种方式用*号引入所有方法和属性。第二、三种方式引入的属性和方法在使用时不带模块名。但如果多个模块和引用模块存在相同的方法或属性则不能使用该方法。
例如:
import math
sqrt(4)
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in
sqrt(4)
NameError: name ‘sqrt’ is not definedmath.sqrt(4)
2.0from math import sqrt
sqrt(4)
2.0
3、 def函数定义语句
Python中的函数定义以def开始,具体语法如下:
def 函数名(变量列表):
….语句体
注意:函数的参数括号后必须加冒号,函数的声明必须顶格写,语句与函数的声明必须缩进4个空格(上面例子以4个点表示,请参见下面Python的代码嵌套格式部分的内容),函数的返回可以以return返回,也可以不指定return自动结束。
例子:
def add(n1,n2):
return n1+n2
4、 if条件语句
语法如下:
if 条件1:
….执行的内容1
elif 条件2:
….执行的内容2
elif 条件3:
….执行的内容3
else:
….执行的内容4
注意:if总体用法与c类似,但每个关键词语句后面必须有冒号,每个执行内容必须缩进4个空格。
举例:
if add(1,4)>10:
….print(‘和大于10’)
else:
….print(’和小于等于10’)
5、 for循环语句
for语句与C语言相差比较大,涉及到一些复杂数据类型“迭代”、”序列”,在这里不进行讲解,在后面学习了复杂数据类型再补充。在此只介绍基本语法:
for iterating_var in sequence:
…. 语句块
6、 while循环语句
while循环与c语言类似,语法如下:
while 条件表达式:
…. 语句块
注意:
1、 条件表达式后必须有冒号;
2、 while语句支持与c类似的break和continue;
3、 语句块与while条件语句必须缩进4个空格;
4、 与c语言的差异除了格式上的差异外,在Python中只支持前while语句,不能象C语言while语句既可以在循环体开始,也可以在循环体结束。
例子:
while True:
name=input(‘Your name:’)
if(len(name)>0):
print(‘welcome you,’+name+’!’)
else:
print(“Good bye!”)
break
输出:
Your name:jwp
welcome you,jwp!
Your name:Lisi
welcome you,Lisi!
Your name:
Good bye!
补充说明一个界面使用方法,在交互式方式下,输入语句结束时需要输入两次回车,否则编辑器认为输入没有结束。
7、 Python的代码嵌套格式
这部分内容其实前面已经部分涉及到,主要有如下内容:
- Python用缩进表示一次代码嵌套,每次缩进代表该块相同缩进的代码是上层的嵌套代码,缩进符可以是TAB键、指定个数的空格,这种缩进的代码块类似于C语言的{}括起来的代码块。与c语言嵌套可以多用一次大括号类似,同一个缩进的代码块可以在上层代码基础上缩进超过一次,只要该代码块的缩进保持一致就可以;
- Python的缩进没有强制要求是多少个符合,只要求同一语句体必须缩进一致,我们甚至可以对同一个if语句不同条件用不同的缩进方式,只需要满足同一层的代码块一致,且比上一层有缩进就可以,且首层无缩进,但真正编写代码时建议一次缩进就用相同的缩进字符数,两次就是2倍,依次类推;
- 首层语句体之前不能有空格,否则编译会报错;
- Python的函数定义、if、while、for语句最后必须有冒号,其后跟代码需要有一次缩进。
Python这种代码缩进方式进行的代码嵌套与c语言差别很大,但使用缩进来嵌套代码有利于提高代码的可读性,不用再去进行括号匹配就可以知道相同层次的语句体范围。只是需要注意对同一文件使用不同编辑器编辑时,可能相同的TAB键有不同的缩进数,以及有些编辑器会强行转换连续的N个空格为TAB键的情况,可能导致缩进不一致。
第2.2节 Python的语句的更多相关文章
- 第8.2节 Python类的__init__方法深入剖析:构造方法案例详解
前面一节介绍了构造方法定义的语法,并进行了语法解释说明,本节将通过案例来说明构造方法参数传递及返回值的情况. 一. 案例说明 本节定义一个汽车类,它有四个实例变量:wheelcount, pow ...
- 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解
第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一. 引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...
- 第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样?
第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样? 一. 案例说明 我们上节提到了,使用property函数定义的属性不要与类内已经定义的普通实例变量重 ...
- 第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现
第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现 一. 案例说明 本节将通过一个案例介绍怎么使用property定义快捷的属性访问.案例中使用Rectan ...
- 第7.23节 Python使用property函数定义属性简化属性访问的代码实现
第7.23节 Python使用property函数定义属性简化属性访问的代码实现 一. 背景 在本章前面章节中,我们介绍了类相关的知识,并举例进行了说明,在这些例子中会定义一些形如 ...
- 第8.27节 Python中__getattribute__与property的fget、@property装饰器getter关系深入解析
一. 引言 在<第7.23节 Python使用property函数定义属性简化属性访问的代码实现>和<第7.26节 Python中的@property装饰器定义属性访问方法gette ...
- 第10.9节 Python子包的导入方式介绍
在<第10.8节 Python包的导入方式详解>详细介绍了包的导入方式,子包也是包,子包的导入与包的导入方法上没有本质区别,但二者还是有所不同.本节对照二者的方式介绍子包与包导入的关系: ...
- 第10.8节 Python包的导入方式详解
一. 包导入与模块导入的关系 由于包本质上是模块,其实对模块的许多导入方法都适用于包,但由于包的结构与模块有差异,所以二者还是有些区别的: 对包的导入,实际上就是包目录下的__init__.py文件的 ...
- 第10.4节 Python模块的弱封装机制
一. 引言 Python模块可以为调用者提供模块内成员的访问和调用,但某些情况下, 因为某些成员可能有特殊访问规则等原因,并不适合将模块内所有成员都提供给调用者访问,此时模块可以类似类的封装机制类似的 ...
随机推荐
- IOC容器小结
IOC容器: Ioc-Inversion of Control,即"控制反转",就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化.定位.配置应用程序中的对象及 ...
- 【阿里云-大数据】阿里云DataWorks学习视频汇总
阿里云DataWorks学习视频汇总 注意:本文档中引用的视频均来自阿里云官方的帮助文档,本文档仅仅是汇总整理,方便学习. 阿里云DataWorks帮助文档链接:https://help.aliyun ...
- Future Callable 线程池 例1
package com.niewj.concurrent; import java.util.concurrent.Callable; import java.util.concurrent.Exec ...
- c++的基本点
C++的要点: 一个思想:抽象(和分类)的思想: 三个概念:类.对象.消息: 三个特征:封装.继承.多态: 一个观念:函数服务于数据. 程序 = 对象 + 消息 ...
- Python_爬虫_urllib解析库
简介:提取网页保存到txt文件中 + 解析txt文件内容,取出内容 from urllib import request import re.json url="http://www.163 ...
- React native路由跳转navigate、push、replace的区别
由于没有系统的去学习RN,对路由跳转了解不多,只是跟着项目在做,抽点时间简单学习一下RN路由跳转方法区别,总结如下: 如上图,外部是一个栈容器,此时A页面在最底部,navigate到B页面,为什么此时 ...
- 利用requestes\pyquery\BeautifulSoup爬取某租房公寓(深圳市)4755条租房信息及总结
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: 1 import requests 2 from reque ...
- 推荐系统实践 0x05 推荐数据集MovieLens及评测
推荐数据集MovieLens及评测 数据集简介 MoiveLens是GroupLens Research收集并发布的关于电影评分的数据集,规模也比较大,为了让我们的实验快速有效的进行,我们选取了发布于 ...
- 使用CorelDRAW修饰用于打印的图像
CorelDRAW在打印输出方面一直做的非常棒,它不仅是一款专业的矢量绘图软件,位图处理也是很厉害的.本文我们讲述修饰.处理数码相机图像,以便将其用于 CMYK 打印作业的一些重要步骤,先来看下被调整 ...
- NOIP2020 游记
为了防止被禁赛三年,这里说明一下,本篇游记是提前开坑的. 10.9 上午模拟赛,下午初赛改成了全天初赛. 但还是想了会儿题,写了两道水题找找信心吧,毕竟前几天挂分挺严重的. 机房还是挺乱的,甚至连自己 ...