第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模块可以为调用者提供模块内成员的访问和调用,但某些情况下, 因为某些成员可能有特殊访问规则等原因,并不适合将模块内所有成员都提供给调用者访问,此时模块可以类似类的封装机制类似的 ...
随机推荐
- AOP 与 注解的那些事儿~
持续原创输出,点击上方蓝字关注我 目录 前言 什么是AOP? AOP的相关概念(面试常客) Spring Boot 如何整合AOP自定义一个注解? 使用拦截器如何自定义注解? 内部调用导致AOP注解失 ...
- python之《matplotlib》
# _*_coding:utf-8_*_# /usr/bin/env python3# Author:book Mikiimport matplotlib.pyplot as pltimport nu ...
- facl权限(getfacl/setfacl)
file access control list:文件访问控制列表 查看facl: [root@localhost test]# getfacl hei # file: hei # owner: ro ...
- 最全总结 | 聊聊 Python 办公自动化之 Word(中)
1. 前言 上一篇文章,对 Word 写入数据的一些常见操作进行了总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 相比写入数据,读取数据同样很实用! 本篇文章,将谈谈如何全面读取 ...
- HotSpot类模型之InstanceKlass
上一篇 HotSpot源码分析之类模型 介绍了类模型的基础类Klass的重要属性及方法,这一篇介绍一下InstanceKlass及InstanceKlass的子类. 1.InstanceKlass类 ...
- Windows上Jenkins插件下载慢解决方法
替换文件内容 Jenkins/updates/default.json 替换 updates.jenkins-ci.org/download 为 mirrors.tuna.tsinghua.edu.c ...
- 超级无敌详细使用ubuntu搭建hadoop完全分布式集群
一.软件准备 安装VMware 下载ubuntu镜像(阿里源ubuntu下载地址)选择自己适合的版本,以下我使用的是18.04-server版就是没有桌面的.安装桌面版如果自己电脑配置不行的话启动集群 ...
- java8的stream功能及常用方法
Java8中stream对集合操作做了简化,用stream操作集合能极大程度简化代码.Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后就用尽了. 一. ...
- 深度分析:面试阿里,字节跳动,美团90%被问到的List集合,看完还不懂算我输
1 List集合 1.1 List概述 在Collection中,List集合是有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素. 在List集合中,我们常用到Arr ...
- 深度分析:Java并发编程之线程池技术,看完面试这个再也不慌了!
线程池的好处 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池.在开发过程中,合理地使用线程池,相对于单线程串行处理(Serial Processing ...