自学Python-语句(1)

语句(1)

一般所有高级语言,都包含如下语句,Python也不例外:

循环语句:容许一些语句反复运行数次。循环可依据一个默认的数目来决定运行这些语句的次数;或反复运行它们,直至某些条件改变。

条件语句:容许仅当某些条件成立时才运行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续运行。

无条件分支语句容许运行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为Goto)、副程序和Procedure等。


print

在python2.x中,print是一个语句,但是在python3.x中它是一个函数了

print自带换行,print ,不会换行

1
2
3
print "hello, world"
print "hello",
print "world"

import

用import引入模块的方法,是python编程经常用到的。引用方法有如下几种:

1
2
import math
print math.pow(3,2)

这是常用的一种方式,而且非常明确,math.pow(3,2)就明确显示了,pow()函数是math模块里的。可以说这是一种可读性非常好的引用方式,并且不同模块的同名函数不会产生冲突。

1
2
from math import pow
print pow(3,2)

这种方法就有点偷懒了,不过也不难理解,从字面意思就知道pow()函数来自于math模块。在后续使用的时候,只需要直接使用pow()即可,不需要在前面写上模块名称了。这种引用方法,比较适合于引入模块较少的时候。如果引入模块多了,可读性就下降了,会不知道那个函数来自那个模块。

1
2
from math import pow as pingfang
print pingfang(3,2)

这是在前面那种方式基础上的发展,将从某个模块引入的函数重命名,比如讲pow充命名为pingfang,然后使用pingfang()就相当于在使用pow()了。

当然了可以一次引入多个

1
from math import pow, pi

也可以一次全部引入

1
from math import *

这样会使代码的可读性变得更低,仅适用于模块中函数较少,重复调用频繁的情况


赋值语句

除了 a = 1 这种简单的赋值语句还有

1
2
3
4
x, y, z = 1, "python", ["hello", "world"]
print x
print y
print z

除了这种一一对应赋值,还可以将一些值赋给一个变量,还记得元组么?

1
2
tu = 1,2,3,"hello"
print tu

python还有更智能的操作,交换两个变量的值,C是这么做的:

1
2
3
4
5
6
7
int a = 10;
int b = 20;
int temp;

temp = a;
a = b;
b = temp;

而python只需要:

1
2
3
4
a, b = 10, 20
print a, b
a, b = b, a
print a, b

还有一种链式赋值:

1
2
3
a = b = "hello world!"
print id(a), id(b)
print a is b #True

链式赋值对两个变量同时赋相同的值,但是地址一样,指向的是同一个对象
is可以判断两个变量是否指向同一个对象

1
2
3
a = "hello world!"
b = a
print a is b #True

这种写法和上面是等效的但是下面这种就不一样了

1
2
3
4
a = "hello world!"
b = "hello world!"
print id(a), id(b)
print a is b #False

虽然a和b的值还是一样的但是他们指向的对象不同了

最后介绍一下增量赋值

1
2
3
4
5
6
7
a = 9
a += 1
print a #10

b = "pyth"
b += "on"
print b #"python"

自学Python-语句(1)
https://carl-5535.github.io/2020/11/09/自学python/自学Python-语句-1/
作者
Carl Chen
发布于
2020年11月9日
许可协议