语句&表达式&函数调用
1. 语句:
语句是由一些表达式组成的,通常一条语句可以独立完成一部分事情并形成结果
注:虽然多条语句写在一行内可以用分号 ; 分开,但是建议一条语句写在一行内
1. 赋值语句
语法:
变量名 赋值运算符 表达式
作用:
1、没有此变量时,创建一个变量,同时将变量绑定(bound)到表达式返回的对象上
2、变量存在时,改变此变量的关联的对象
3、用变量访问此变量关联的对象
说明:一个变量只能绑定在一个对象上,两个变量可以同时绑定在一个对象,引用计数
序列赋值的语法:
变量名1, 变量名2, ... = 对象1, 对象2, ...
变量名1, 变量名2, ... = 序列
a, b = 100, 200
print (a, b)
100 200
a, b = [100, 200]
print(a, b)
100 200
注:变量名与序列个数必须严格一致
连续赋值
变量1, 变量2,。。。= 对象
a = b = c = 100
print(a, b, c)
100 100 100
x, y, z = 1, 2, 3
x, y = y, x #交换两个变量的关联关系
print(x, y)
2 1
在交互模式下,查看当前作用域的变量:
help("__main__")
Help on module __main__:
NAME
__main__ - Automatically created module for IPython interactive environment
DATA
In = ['', 'a, b = 100, 200\nprint (a, b)', 'a, b = [100, 200]\nprint(a...
Out = {}
__ = ''
___ = ''
a = 100
b = 100
c = 100
exit = <IPython.core.autocall.ZMQExitAutocall object>
quit = <IPython.core.autocall.ZMQExitAutocall object>
x = 2
y = 1
z = 3
FILE
(built-in)
2. del 语句
用于删除单个或多个变量,同时解除与对象的关联关系,如果可能,则释放对象
语法:
del 变量名1, 变量名2, ...
a = 3
b = 10000
print(a, b)
del b
print(b) # 出错
3 10000
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-6-f81e395cb5b7> in <module>
3 print(a, b)
4 del b
----> 5 print(b) # 出错
NameError: name 'b' is not defined
3. if 语句
让程序根据条件有选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句1。。。。
elif 真值表达式2:
语句2。。。。
elif 真值表达式3:
语句3。。。。
else:
语句4
语法说明:
1、elif子句可有0个,1个或多个
2、else 子句可有1个,也可以没有,且只能放在最后
3、所有的真值表达式自上而下进行判断,只要有一个为真值,则执行内部语句,然后结束当前的if语句的执行
if 语句的嵌套:
if 语句本身是由多条语句组成的一条复合语句
if 语句可以作为语句且套到另一个语句内部
三元运算符
语法:
表达式1 if 真值表达式 else 表达式2
语法说明:
根据真值表达式返回的结果不确定是执行表达式1 还是表达式2,并返回结果
实例:商场促销,满100减20
s = input("请输入商品的总金额:")
money = int(s)
pay = money - 20 if money >= 100 else money
print(pay)
请输入商品的总金额:77
77
练习:输入一个数,打印这个数的绝对值(要求用条件表达式,不允许用abs函数)
a = int(input("输入一个数:"))
b = a if a >= 0 else -a
print("这个数的绝对值为:", b)
输入一个数:6
这个数的绝对值为: 6
练习: 给了一个年份,判断是否为闰年并打印每四年一闰,每百年不闰,四百年又闰
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("闰年")
else:
print("非闰年")
请输入年份:2020
闰年
4. pass 语句:
通常用来填充语法空白, pass 又名空语句
语法:
pass
实例:判断一个学生的成绩,如果不在0-100之间,提示不合法的输入
s = input("请输入学生成绩:")
score = int(s)
if 0 <= score <= 100:
# 啥也不做
pass
else:
print("不合法的输入!")
请输入学生成绩:101
不合法的输入!
5. 循环语句:
while 语句、for 语句
思考一个问题:
如何打印100行hello world!
print("hello world!" * 100, end = "")
while 语句
根据一定条件,重复的执行一条或多条语句
语法:
while 真值表达式:
语句块1
else: # 可写可不写
语句块2
语法说明:
1、先执行真值表达式,测试布尔值为True或False
2、如果真值表达式的值为True,则执行语句块1,然后再返回到第一步,重复进行测试
3、如果真值表达式值为为False,则执行else子语句的语句块2,然后结束while语句的执行
注:else 部分可以省略,ctrl + c 强行终止程序
练习:输入一个数,用变量x绑定,根据x的值,打印x行 hello world!(用while语句来做 ,快捷注释的方法 ctrl + /)
x = int(input("输入一个数: "))
while x:
print("hello world")
x -= 1
输入一个数: 4
hello world
hello world
hello world
hello world
练习: 打印1-20的整数,打印在一行显示,每一个数字之间用一个空格隔开,如 :1 2 3 4 5 6 7 8 9 ⋯⋯
x = 1
while x <= 20:
print(x, end=" ")
x += 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
练习: 打印1-20的整数,每行打印5个,打印四行,如:
1 2 3 4 5
6 7 8 9 10
⋯⋯
x = 1
while x <= 20:
if x > 5 and x % 5 == 1:
print()
print(x, end=" ")
x += 1
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
2. 表达式express
由一个数字 或 数字和运算符组成,通常让计算机做一些事情并返回结果
实例:1 + 2 # 将生成一个3这个整型值
3. 函数调用(函数调用是“表达式”)
语法:
函数名(传参列表)
语法说明:
函数调用是表达式,通常用于返回一个对象
练习:如何把字符串“6.6”转换为浮点型,请写出语句
float('6.6')
6.6
4. 内置函数(3)
- 数值计算函数
abs(x) # 取x的绝对值
round(number[,ndigits]) # 对小数数值进行四舍五入,ndigits是小数向右取整的位数,负数向左取整
pow(x,y,z=None) # 相当于 x ** y 或 x ** y % z
hash(x) # 用于获取取一个对象(字符串或者数值等)的哈希值
- help() # 查看函数帮助:
help(abs)
Help on built-in function abs in module builtins:
abs(x, /)
Return the absolute value of the argument.
- 基本输入: input 函数:(python2 中使用raw_input)
作用:
从标准输入设备上读取一个字符串(末尾的换行字符会被删除)
格式:
input("提示字符串")
注:返回输入的字符串
- 基本输出函数 print函数
作用:
将一系列的值以字符串的形式输出到标准输设备上(默认为终端)默认打印换行
格式:
print(value,....,sep=' ', end='\n', flush=Flase, file=sys.stdout)
关键字参数详解:
sep 两个值之间的分隔符,默认为一个空格
end 输出完毕后在字符串流末尾自动追加一个字符串,默认为换行符号‘/n’
flush 是否立即输出
file 文件流对象,默认为sys.stdout
同名公众号: 庄AC