Python:[4]变量,表达式和语句

2025-11-11 06:04:44

1、变量是指向各种类型值的名字,以后再用到某个值时,直接引用这个名字即可,不用在写具体的值。在Python中,变量的使用环境非常宽松。没有明显的变量声明,而且类型不是固定的。你可以把一个整数赋值给变量,如果觉得不合适,把字符串赋值给它完全可以。

>>> x = 100

>>> print x

100

>>> x = "China"

>>> print x

China

2、在别的语言中这是不允许的,若把字符串赋值给整数变量是错误的。我觉得这样做是合理的,难道书柜只能放书,搁别的东西就不行吗?字符串必须以引号标记开始,并以之标记结束。如果你不能确定变量或数据的类型,就用解释器内置的函数type确认。如下:

>>> type("Hello,World!")

(type 'str')

>>> type(17)

(type 'int')

>>> x = "QHD"

>>> type(x)

<type 'str'>

“Hello,World!”属于字符串类型,变量x也是字符串类型,17属于整数类型。

3、带有小数点的数字叫做浮点数。检查3.0是否为浮点数。如下:

>>> type(3.0)

(type 'float')

只要是用双引号或单引号括起来的值,都属于字符串。例如:

>>> type("31")

(type 'str')

>>> type("2.5")

(type 'str')

>>> type("P001")

<type 'str'>

1、程序中的变量名要有实际意义。变量名可以是由数字和字符组成的任

意长度的字符串,但必须以字母开头。python是区分大小写的。举个例子

来说,Name和name是两个不同的变量名。请看下面的例子:

>>> Name = "pi"

>>> name = "da"

>>> print name, Name

da pi

2、符号“_”连接由多个单词组成的变量名。请看下面的例子:

>>> my_name = "pi da qing"

>>> print my_name

pi da qing

3、如果定义了一个错误的变量名,解释器显示语法错误。请看下面的例

子:

>>> 1_first = "第一名"

SyntaxError: invalid syntax

>>> my$ = "dollar"

SyntaxError: invalid syntax

>>> print = 12345

SyntaxError: invalid syntax

4、变量1 ¯rst不应以数字开头;变量my$包含非法的字符;变量名print与python定

义的关键字print重名,所以print不能再当作变量名了。python定义了28个

关键字:

and continue else for import not raise assert def except from in or return

break del exec global is pass try class elif finally if lambda print while

1、语句是Python解释器可以执行的命令。我们已经知道两条语句:打印和赋值。

2、赋值语句有两个作用:一是建立新的变量,二是将值赋予变量。任何变量在使用时,都必须赋值。否则,被视为不存在的变量。下面例子有三条赋值语句。第一个是将值“How are you?”赋值给字符串变量message;第二个是将18赋值给整数变量n;第三个是将数字3.1415926赋值给浮点变量pi。当打印不存在的变量时,系统给出错误信息。如下:

>>> message = "How are you?"

>>> n = 18

>>> pi = 3.1415926

>>> print abc #错误语句,没有该变量。

NameError: name 'i' is not defined

3、一般的情况下,我们用状态图表示变量的状态。左边是变量的名称,右边是变量值,中间的箭头指向值。状态图显示了赋值语句的最终操作结果(如图 2.1)。

Python:[4]变量,表达式和语句

4、也可以用函数type检查变量的类型。变量的类型就是它所指向的值的类型。

>>> type(message)

(type 'str')

>>> type(n)

(type 'int')

>>> type(pi)

(type 'float')

5、打印语句print输出表达式的计算结果。单个变量也可以看作是表达式。如果你想在一行打印多个变量,可以用逗号将这些变量隔开,逗号禁止换行。例如:

>>> x = 3

>>> y = 8.9

>>> print x, y, "hello", 9

3 8.9 hello 9

>>> print x, '\t', y, "\t", "hello", "\t", 9

3 8.9 hello 9

6、第二个print语句用制表符将这些变量隔开。

下面是一些特殊符号的打印方法:

>>> #打印单引号

>>> print "''"

''

>>> #打印双引号

>>> print '""'

""

>>> #打印换行符

>>> print '\n'

>>> #打印反斜杠

>>> print '\\'

\

1、表达式由值、变量和运算符组成。如果在命令行上输入表达式,解释

器惊醒计算,并显示结果:

>>> 23.3 + 1.2

24.5

2、单一的值或变量也可以当作是表达式:

>>> 45

45

>>> x = 1.2

>>> x

1.2

3、计算表达式和打印值是有很大区别的,要注意区分。

>>> "I am free!"

'I am free!'

>>> message = "I am free!"

>>> message

'I am free!'

>>> print message

I am free!

>>> print "I am free!"

I am free!

4、当Python显示表达式的值时,显示的格式与你输入的格式是相同的。如果

是字符串,就意味着包含引号。而打印语句输出的结果不包括引号,只有

字符串的内容。

在脚本文件中,任何表达式都被认为是合法的语句,但是这个语句不

做任何事。你可以试着运行下面的脚本文件。

# 表达式在脚本文件不做任何事。

12345

34.90

"I am free!"

3 + 5

这个脚本根本没有任何输出。

1、运算符是像加号和减号之类的特殊符号。运算符操作的对象是操作数。

符号+, -, / ,()的意义与数学中的意义基本相同。一个星号代表的是乘法,两个星号代表的是乘幂。请看下面的例子:

下面的例子都是合法的Python表达式:

20 + 32

hour - 1

hour * 60 + minute

minute / 60

5 ** 2

(5+9) * (15-7)

2、操作数还可以是变量,当运算执行前,变量被它所指向的值替代。

>>> 3 * 4

12

>>> 3 ** 4

81

>>> x = 9

>>> y = 6

>>> x * y

54

3、需要注意的是除法运算。如果除数和被除数都是整数,那么结果是截调小数部分的整数。解决的办法是将除数和被除数任意之一加小数点,或是加小数点和零。例如:

>>> 5 / 2

2

>>> 5.0 / 2

2.5

>>> 5 / 2.0

2.5

>>> 5 / 2.

2.5

4、模数操作符“%”计算两个整数的余数:

>>> print 5 \% 3

2

>>> print 123 \% 12

3

Python还支持复数的运算。复数有两种表示方法,一种如:

>>> a = 1 + 5j

>>> b = 4j

另一种是用函数的方法:

>>> x =complex(1, 5)

>>> print x

(1+5j)

复数也能够进行数学运算:

>>> a = 3 +3j

>>> b = 4 + 4j

>>> print a + b

(7+7j)

>>> print a - b

(-1-1j)

>>> print a * b

24j

>>> print a / b

(0.75+0j)

1、如果表达式中有不止一个运算符,那么计算的顺序依靠“优先规则”。Python运算符的“优先规则”和算术的相同。以下关于“优先规则”的建议:

2、小括号有最高的优先级。在表达式中,括号内的首先计算。我们可以利用括号使表达式更容易读懂,而不影响计算结果。

3、乘幂运算的优先级仅次于小括号。例如:

>>> (1 + 3) ** 2

16

>>> 3 * 3 ** 2

27

4、乘法和除法的优先级相同,比加减法的优先级高。加减法的优先级也是相同的。例如:

>>> 2 + 3 * 3 + 2

13

>>> 4 - 10 / 5

2

>>> 4 * 5 / 2

10

具有相同优先权的运算符从左到右进行计算。

1、通常情况下,字符串放在双引号或单引号之间。字符串不能进行除法、减法和字符串之间的乘法运算,下面的操作都是非法的:

>>> "hello" / 3

TypeError: unsupported operand type(s) for /: 'str' and 'int'

>>> string = "string"

>>> string - 1

TypeError: unsupported operand type(s) for -: 'str' and 'int'

>>> string * "hello"

TypeError: unsupported operand type(s) for *: 'str' and 'str'

加法“+”能够连接两个字符串成为一个字符串。例如:

>>> string1 = "Red"

>>> string2 = "Hat"

>>> print string1 + string2

RedHat

2、由于“Red”和“Hat”没有空格,所以它们非常亲密的连在一起。如果想让字符串之间有空格,可以建一个空字符变量,插在相应的字符串之间让它们隔开,或是在字符串中加入相应的空格。

>>> space = " "

>>> str1 = "A"

>>> str2 = "B"

>>> str3 = "C"

>>> print str1 + space + str2 + space + str3

A B C

>>> astr = 'Linux '

>>> bstr = ' Unix '

>>> cstr = 'OS/2'

>>> print astr + bstr + cstr

Linux Unix OS/2

3、符号“”也可以操作字符串。只是其中一个操作数必须是字符串,另一个必须是整数。字符串被重复整数遍。例如:

>>> 3 * "Love"

'LoveLoveLove'

>>> string = "python"

>>> string * 2

'pythonpython'

1、到目前为止,我们已经学习了程序的几大元素:变量,表达式和语句。但只是孤立的学习,还没有考虑怎样把他们组合起来,完成一项具体的操作。例如,我们可以把加法操作和打印语句结合起来,显示加法表达式的结果:

>>> print 10 + 9

19

2、实际上,加法操作发生在打印操作之前,所以这两个动作不是同时发生的。任何涉及到数字,字符串和变量的表达式都可作为Print语句的参数。

例如:

>>> interest = 0.003

>>> saving = 12345.98

>>> print "Total: ", saving + saving * interest

Total: 12383.01794

3、赋值语句,即等号“=”的右边可以是任意的表达式。表达式的值是什么类型,变量就是什么类型。

>>> int = 5

>>> str = "hello"

>>> var = int * 7

>>> type(var)

<type 'int'>

>>> var = str + " world"

>>> type(var)

<type 'str'>

4、有一点要记住,赋值语句的左边不能出现表达式。像下面的语句是非法的:

>>> name + 9 = 10 #错误的赋值语句。

SyntaxError: can't assign to operator

1、当程序越来越复杂时,读懂它就变得非常困难。程序的各部分之间紧密衔接,想依靠部分的代码来了解整个程序要做的,是困难的。因此,好的习惯是在程序中加入适当的注释,以解释它要做的事情。注释必须以符号“#”开始:

# 打印1+1的结果

print 1 + 1

注释可以单独占一行,也可以放在语句行的末尾:

print 1 + 1 # 打印1+1的结果

2、从符号“#”开始,到这一行的末尾之间的所有内容都被忽略,这部分对程序没有影响。注释信息主要是方便了程序员,一个新来的程序员通过注释信息,能够较快的了解程序所做的;原来的程序员在经过一段时间后,可能对自己的程序不了解了,利用注释信息就能较快的熟悉。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢