第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模块可以为调用者提供模块内成员的访问和调用,但某些情况下, 因为某些成员可能有特殊访问规则等原因,并不适合将模块内所有成员都提供给调用者访问,此时模块可以类似类的封装机制类似的 ...
随机推荐
- 用微信小程序做一个小电商 sku
效果展示图 功能点概述 图一功能点有 搜索 轮播图 商品展示 图二功能点 导航栏 加入购物车 图四功能点 评论点 图五购物车 复选框 ( 全选全不选 ) 即点即改 总计结算 功能详解 1.A(搜索) ...
- 深入浅出 webpack 之基础配置篇
前言 前端工程化经历过很多优秀的工具,例如 Grunt.Gulp.webpack.rollup 等等,每种工具都有自己适用的场景,而现今应用最为广泛的当属 webpack 打包了,因此学习好 webp ...
- 程序员注意【自verycd.com的JavaAmg77 】
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...
- nginx&http 第三章 ngx 请求处理的 11 个阶段 --ngx_http_process_request& ngx_http_handler
ngx_http_process_request如果设置了定时器则删除,既然所有的请求已经接收完毕,就不会再发生超时了 重设连接的读写回调函数 重设请求读事件回调函数 调用 ngx_http_hand ...
- setPriority()优先级
1 . 优先级表示重要程度或者紧急程度.但是能不能抢到资源也是不一定.2 . 分配优先级:反映线程的重要或紧急程度线程的优先级用1-10 表示,1的优先级最低,10的优先级最高,默认值是5 packa ...
- 3-colorability
目录 1.1 3-colorability 1.1.1 3元可满足规约到3着色 1.1.2 证明充分和必要性 1.1 3-colorability 一个图的三着色问题:要使得边两头的结点颜色互不相同. ...
- ACCESS渗透测试
access-getshell 直接写shell # 创建临时表 create table test(a varchar(255)); # 插入一句话木马 insert into test(a) va ...
- bugkuCTFWEB部分WP
前言 之前做的今天整理下 这个有点乱不建议大家参考我的wp 这个主要是自己看的.部分的我做的时候打不开就没写. 练手地址:https://ctf.bugku.com 矛盾 矛盾考察的是PHP弱类型首先 ...
- 攻防世界-Web_php_include (四种解法)
攻防世界-Web_php_include (考察的是文件包含) 打开页面是这样一段代码从代码中得知page中带有php://的都会被替换成空 str_replace()以其他字符替换字符串中的一些 ...
- c# 调用Go 动态库
[StructLayout(LayoutKind.Sequential)] public struct GoMem { public IntPtr data; public UInt64 len; p ...