您的位置:首页 > 编程语言 > Python开发

Python 学习从入门到放弃(三)--变量与函数基础、基础控制语句

2018-01-05 10:13 1181 查看

Python 学习从入门到放弃(三)–变量与函数基础、基础控制语句

从文件执行

从现在开始,代码块开始,使用解释器来调试代码就显得比较麻烦了。

因此先介绍一下最简单的从文件开始执行 Python 的用法。

例如创建文件 hello.py,并在 hello.py 中写入以下代码

x = 1
y = 2
x
print(x + y) # print为打印指令,能将结果打印出来
print('hello world')


打开 terminal 或操作系统中的命令行工具,进入该文件的目录,输入指令

python hello.py


你将获得以下结果

3
hello world


可见通过
python 文件名
的方式可以执行文件中的代码。

和解释器不同,直接输入一个变量并不会显示结果( x 没有打印出来),而是需要通过 print() 函数来打印。

变量基础

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。

变量的命名当然要符合标识符的规范,例如以下的变量是合法的:

xi_ying_19_da
your_age
familyBalance


Python 是一个弱变量类型的语言,意味着不需要明确变量的类型,变量的类型也可以随时改变。

内置的普通变量类型不需要初始化即可使用,例如整数、实数、字符串等。

变量的赋值和大部分编程语言类似,但是有一些特殊的语法,参考下列代码。

x = 'Nice to meet you' #x 被赋值为字符串
x = 1 #x 的值被覆盖并被赋值为一个整数

#没有类似 int x 这样的语法

#简单的赋值
a = 1
b = 2

#多变量赋值
a, b = 1, 2
a, b = b, a #可以通过多变量赋值完成变量交换

#自变赋值,等号前有一个数学运算符
a *= b #等价于 a = a * b
a += b #等价与 a = a + b


函数基础

Python 中对函数的基础格式如下

def function_name(arg1, arg2[, ...]):
statement
[return value]


function_name 就是函数名;arg1、arg2 等就是形式参数,当然支持任意数量的变量数量;statement 是函数中的语句;函数执行到 return 语句的时候就会停止执行,并把 return 后的 value 作为函数执行后的数值返回。例如:

#一个计算平方差的函数
def differenceOfTwoSquares(a, b): #千万别忘了“:”
square_of_a = a ** 2 #注意缩进保持一致
square_of_b = b * b
result = square_of_a - square_of_b
return result

#从这一行开始已经不是函数定义的部分了
c = differenceOfTwoSquares(3, 2) #此时 c 的值变为 5


控制语句

判断语句

if EXPRESSION1:
STATEMENT1
[elif EXPRESSION2:
STATEMENT2]
[else:
STATEMENT3]


判断 EXPRESSION1 为真时执行 STATEMENT1,[否则判断 EXPRESSION2 为真时执行 STATEMENT2,][否则执行 STATEMENT3]。

举个例子

if age <= 3:
age_range = 'young babies'
elif age > 3 and age <18:
age_range = 'children'
elif age >= 18 and age < 100:
age_range = 'adults'
else:
age_range = 'old man'


Python 中没有提供 switch、case 的语法,官方认为这违反了 Python 语言简单、慵懒的原则。

在某些简单情况下可以通过字典的方式进行实现,例如

#这是一个字典,你可能还不熟悉,类似json
#用花括号包裹,用 k:v 的形式存储
languageName = {
'简体中文': 'zh-CN',
'繁体中文': 'zh-TW',
'英语': 'en',
'西班牙语': 'es',
'法语': 'fr',
'阿拉伯语': 'ar',
'日语': 'ja',
'德语': 'de',
'意大利语': 'it',
'荷兰语': 'nl',
'俄语': 'ru'
}

language = languageName.get('简体中文') #结果为'zh-CN'
language = languageName.get('阿拉伯语') #结果为'ar'


循环及循环控制语句

while 循环

while EXPRESSION:
STATEMENT1
[else:
STATEMENT2]


如果 EXPRESSION 返回“真”则循环体 STATEMENT1 执行,并重复这个过程[;否则执行 STATEMENT2]。

例如

age = 0
while age <18:
age += 1
print('Happy birthday my boy')
else:
print('I am very happy you are growing up now')


for 循环

for TARGET in OBJECTS:
STATEMENT1
[else:
STATEMENT2]


这里介绍一下
in
运算符,这个叫做“成员运算符”,及判断“如果在指定的序列中找到值返回 True,否则返回 False”。

但在 for 语句中,情况会有些许不同,TARGET 是形式参数,在循环体中代替 OBJECTS 的成员

例如:

family_members = {
'father',
'mother',
'brother',
'sister'
}

'father' in family_members #表达式返回 True
'li a yi' in family_members #表达式返回 False

for member in family_members:
print(member + 'loves the family')
#结果为
#father loves the family
#mother  loves the family
#brother  loves the family
#sister  loves the family


循环控制语句-break、continue、pass

此处还需要介绍几个额外的循环控制语句

break
#终止当前循环,直接执行循环语句后的第一条指令
#注意:此时 else 语句不会被执行


continue
#跳过本次循环,及跳过循环体中下方的语句,直接判断 判断式是否还满足循环条件


pass
#占位专用,不完全算循环控制语句
#因为 Python 是根据缩进来判断代码块的
#所以函数体、循环体等是不能为空的
#当你想好了函数名或者想好了判断条件时,可以先写上 pass 来防止程序报错
#例如

i = 0
if i < 3:
pass #什么都不做,单纯占位
print(i) #结果为0

#以下代码会报错
'''
i = 0
if i < 3:
print(i)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐