变量以及类型
<1>变量的定义
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量
的东西,如下示例:
num1 = 100 #num1就是一个变量,就好一个模具
num2 = 87 #num2也是一个变量
result = num1 + num2 #把num1和num2这两个"模具"中的数据进行累加,然后放到 result变量中
- 说明:
- 所谓变量,可以理解为模具,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
- 程序就是用来处理数据的,而变量就是用来存储数据的
-
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
想一想:我们应该让变量占用多大的空间,保存什么样的数据?
类型
|
描述
|
例子
|
备注 |
---|---|---|---|
一个由字符组成的不可更改的有序串行。
|
'Wikipedia'
"Wikipedia"
"""Spanning
multiple
lines"""
|
在Python 3.x里,字符串由Unicode字符组成 | |
bytes
|
一个由字节组成的不可更改的有序串行。
|
b'Some ASCII'
b"Some ASCII"
|
|
list
|
可以包含多种类型的可改变的有序串行
|
[4.0, 'string', True]
|
|
tuple
|
可以包含多种类型的不可改变的有序串行
|
(4.0, 'string', True)
|
|
set, frozenset
|
与数学中集合的概念类似。无序的、每个元素唯一。
|
{4.0, 'string', True}
frozenset([4.0, 'string', True])
|
|
dict
|
一个可改变的由键值对组成的无序串行。
|
{'key1': 1.0, 3: False}
|
|
int
|
精度不限的整数
|
42
|
|
float
|
浮点数。精度与系统相关。
|
3.1415927
|
|
complex
|
复数
|
3+2.7j
|
|
bool
|
逻辑值。只有两个值:真、假
|
True
False
|
条件语句
如果我们希望有效的响应用户的输入,代码就需要具有判断能力。能够让程序进行判断的结构成为条件,条件判断语句返回的是布尔值真或假,真就执行一条线路,假就执行另外一条线路
#!/usr/bin/env python # -*- coding: encoding -*- name = input('请输入用户名:') if name == "alex": print "超级管理员" elif name == "eric": print "普通管理员" elif name == "tony": print "业务主管" else: print "普通用户"
While循环
While循环,是一个循环加判断的组合,满足判断条件返回 真(True)开始循环代码块,不满足判断条件返回 假()不循环
格式:
While 条件:
代码块
注意:在While循环里如果不加终止循环的判断或者关键字,会一直循环(死循环)
如:
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num:")) if user_input == my_age: print("Congratulations, you got it !") break elif user_input < my_age: print("Oops,think bigger!") else: print("think smaller!") count += 1 #每次loop 计数器+1 else: print("猜这么多次都不对,你个笨蛋.")
for循环
主要用于循环一个字符串列表等
不需要判断,定义一个循环变量即可
格式:for (循环定义变量) in (被循环的变量) 循环完后自动退出整个循环
打印循环定义变量即可
关键字(continue) 跳出本次循环 继续下次环
关键字(break) 跳出整个循环 不在循环
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
"hello world"
1
2
3
4
|
name
=
"alex"
print
"i am %s "
%
name
#输出: i am alex
|
PS: 字符串是 %s;整数 %d;浮点数%f
字符串常用功能:- 移除空白
- 分割
- 长度
- 索引
- 切片
1
2
3
|
name_list
=
[
'alex'
,
'seven'
,
'eric'
]
或
name_list =
list
([
'alex'
,
'seven'
,
'eric'
])
|
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
1
2
3
|
ages
=
(
11
,
22
,
33
,
44
,
55
)
或
ages
=
tuple
((
11
,
22
,
33
,
44
,
55
))
|
- 索引
- 切片
- 循环
- 长度
- 包含
1
2
3
|
person
=
{
"name"
:
"mr.wu"
,
'age'
:
18
}
或
person
=
dict
({
"name"
:
"mr.wu"
,
'age'
:
18
})
|
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
"hello world"
1
2
3
4
|
name
=
"alex"
print
"i am %s "
%
name
#输出: i am alex
|
PS: 字符串是 %s;整数 %d;浮点数%f
字符串常用功能:- 移除空白
- 分割
- 长度
- 索引
- 切片
1
2
3
|
name_list
=
[
'alex'
,
'seven'
,
'eric'
]
或
name_list =
list
([
'alex'
,
'seven'
,
'eric'
])
|
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
1
2
3
|
ages
=
(
11
,
22
,
33
,
44
,
55
)
或
ages
=
tuple
((
11
,
22
,
33
,
44
,
55
))
|
- 索引
- 切片
- 循环
- 长度
- 包含
1
2
3
|
person
=
{
"name"
:
"mr.wu"
,
'age'
:
18
}
或
person
=
dict
({
"name"
:
"mr.wu"
,
'age'
:
18
})
|
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度