输入与输出
输出: 告诉用户程序执行的结果
>> print 300
300
>>> print '100+200=', 100+200
100+200= 300
输入: 告诉计算机程序所需的信息
# raw_input写入的内容赋值给变量name,输入的内容为字符类型
>>> name = raw_input("Name:")
Name:westos
>>> print name
westos
>>> type(name)
<type 'str'>
# input写入的内容赋值给变量age,输入的内容为数值类型
>>> age = input("Age:")
Age:12
>>> type(age)
<type 'int'>
- 小练习:
编写一程序,录入信息包括hostname、IP、used_year、CPU、Memory、manager_name
,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息如下面的格式如下:
主机信息
主机名: hostname
IP:IP
使用年限:used_year
CPU:CPU
Memory:Memory
变量
- 变量是内存中的一块区域。
- 变量的命名: 变量名由字母,数字,下划线组成。
>>> a=1
>>> print a
1
>>> a_1 = 111
>>> _a = 222
>>> print _a
222
>>> 1a = 111
File "<stdin>", line 1
1a = 111
^
SyntaxError: invalid syntax //指语法错误,无效的语法
>>> a = 5
>>> b = 3
>>> print a + b
8
>>> print a + b +c
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined //名称错误
- 变量的特性:
- 实际存储在内存上;
- 变量名最好见名知意;
- 变量可重新赋值;
>>> number1 = 1
>>> number2 = 2
>>> number1 + number2
3
- python中地址变量与c语言刚好相反,一条数据包含包含多个标签;
>>> a = 1
>>> b = 1
>>> id(a)
10812520
>>> id(b)
10812520
- 面试题常见问题:简要描述Python的垃圾回收机制(garbage collection)。
- Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会消失,分配给该对象的内存就会释放出来用作他用。
- PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象有新的引用时,它的ob_refcnt就会增加,当引用它的对象被删除,它的ob_refcnt就会减少.引用计数为0时,该对象生命就结束了。
运算符与表达式
- 赋值运算符:=, +=, -=, /=, *=, %=
- 算术运算符:+, -, , /, //, %, *
>>> 1 + 1
2
>>> 1 - 1
0
>>> 1 * 3
3
>>> 1 / 2
0
>>> 1.0 / 2
0.5
>>> 1.0
0.0
>>> 1 % 2
1
>>> 2 ** 3
8
>>> a33 = 3 ** 3
>>> print a33
27
>>> print "a33=",a33
a33= 27
>>> print "a33 =",a33
a33 = 27
- 关系运算符: >, >=, <, <=, !=, ==
>>> 1 < 2
True
>>> 1 > 2
False
- 逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not
- 练习: