最近学习了Python语言,趁有空来发几篇文记录一下,总结出一些需要注意的重点给大家参考。
本篇文章以一个实际代码示例综合演示了Python入门所必须熟悉的语法,
同时我们必须认知到Python的核心理念:
1. Python是一门面向对象语言,在Python中一切皆为物件。
其中比较特别的是函数参数的传递方式,Python在此规范上与物件关系密切,在之后的文章中会介绍到。
2. 同时,Python强调合理的代码排版,以加强代码可读性,因此规定了一些需要遵守的代码编写格式标准,如:缩排、保留空行区隔不同代码段、注解格式。
其中缩排根据PEP规范,是以4个空格符表示,用以区分语法区块的开始与结束,例如 if、for、while、函数定义、类定义......,都会使用到。
这里先贴出代码,然后再针对重点部分解析
# -*- coding: UTF-8 -*-
# 根据所在行数印出星号以形成三角形
# 需先输入总行数与印出顺序
lines = 5
case = "DOWN"
# Fix Python 2.x.
try:
input = raw_input
except NameError:
pass
# Script start from here.
# Input information
lines = input("请输入行数:")
lines = int(lines)
case = input("请输入 UP / DOWN:")
# Process print
if case == "DOWN":
for index in range(lines):
for star in range(index + 1):
print("*", end="")
if index != (lines - 1):
print()
elif case == "UP":
for index in reversed(range(lines)):
for star in range(index + 1):
print("*", end="")
if index != (lines - lines):
print()
else:
print("Wrong case!")
第1行# -*- coding: UTF-8 -*- 用意在指定文件的编码方式为UTF-8,若Python版本是3.X以上,因其默认编码是UTF-8,所以不需要特别指定。
第16行使用input() 函数来获取用户输入的字符串,用户输入完成按下Enter后,函数会返回一个字符串,可以用变量来接收。
第17行是将所获取的用户输入之字符串转换为整数型别,指派给lines物件。
第21行~第34行是处理印出星号到屏幕上的逻辑处理过程。
我们可以看到区分 if 代码块和 for 代码块的方式仅仅是使用了缩排和冒号 : ,不像是C语言或是Java语言使用大括弧 { } 包住代码块,
if 保留字后方接条件语句,然后再接续一个冒号,再换行后并缩排开始符合条件要执行的语句区块。
第27行的 elif 保留字意义则是与C语言的else if 相同。
最后,我们需要注意的是 for 语句的用法,这是类似Java语言中使用迭代器之for回圈的用法又或是类似C++中的for_each,
保留字 in 后接续的是一个序列(sequence),表示在这个序列中遍历,每一个循环都会提取序列中的一个元素保存到保留字 in 前方定义的变量。
如第22行,将整数物件lines用 range() 函数转为一个序列,用for回圈遍历,每个循环的遍历都提取一个元素给index变量,
例如若lines变量为5,则range(lines)将得到一个序列 [0, 1, 2, 3, 4] ,for回圈将在此序列中遍历。
区分for回圈代码区块的开始与结束方式与前面所提到的if相同。
基础语法先讲到这里,之后来谈谈函数的使用。