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

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值