首页 > 代码库 > DAY01 - 变量、数据类型、流程控制

DAY01 - 变量、数据类型、流程控制

执行方式:

1. 交互的方式:

  • 优点:即时调试程序,调试方便
  • 缺点:无法永久保存代码

2. 文件的方式:

  • 优点:永久保存代码
  • 缺点:不能即时调试代码

执行步骤:

1. 先启动Python解释器
2. Python解释器把文件内容从硬盘读入内存
3. 读入内存后,再解释执行

 

变量

变量:变化的量

定义一个变量有三个特征:

id: id(x)

type: type(x)

value: x

注意:Python中的变量名没有储存值的功能,变量名与变量值只是一种绑定关系。

为变量x赋值,Python解释器开辟一段内存空间,值的引用计数加一。当值的引用计数为零,即没有任何绑定,Python解释器自动清理内存空间。手工解除绑定可以用del(x)

 

程序交互

输入: input(),把结果赋值给变量,类型为字符串

注释: 井号(单行注释)、三个引号(多行注释)

 

数据类型

值的数据类型

数字(单值)、字符串(单值)、列表(多值)(值可以是任意类型)、字典(采用key: value的方式存储值)(多值)(每个value可以是任意类型,但key必须是不可变数据类型)、布尔类型

  • 列表取值

要取得列表内的元素,需要通过下标,从0开始 

1 L = [1, abc, [2, 3]]
2 L[0]
>>> 1
3 L[1]
>>> ‘abc‘
4 L[2]
>>> [2, 3]
5 L[2][1]
>>> 3

 

  • 字典取值

D={‘user‘:‘PatHoo‘, ‘passwd‘:‘123‘}

通过key的方式取值

1 D={user1:[123,1],user2:[abc,3]}
2 D[user2][0]
>>> ‘abc‘
  • 字符串拼接

加号、乘号 

1 F="Pat"
2 L="Hoo"
3 F+L
>>>
‘PatHoo‘
4 name = "PatHoo"
5 name * 3
>>> ‘PatHooPatHooPatHoo‘

 不可变数据类型(或可hash类型):值(value)变了,id跟着变化。如:数字、字符串

可变数据类型(或不可hash类型):id不变,类型(type)不变,值(value)变了。如:列表、字典

格式化输出

%s 占位符,可以用于任意类型

%d 占位符,只能接受数字类型 

1 name = "PatHoo"
2 age = 30
3 print("my name is %s, my age is %d." % (name, age))
>>> my name is PatHoo, my age is 30.

  

逻辑运算

and:左边为False,不执行右边的判断

or:左边为True,不执行右边的判断

True or False and False

==> True

(True or False) and False

==> False

流程控制

Python用缩进(4个空格)来标识代码级别

break:跳出本层循环 

1 count=1
2 while count <= 100:
3     if count == 10:
4         break #跳出本层循环
5     print(count)
6     count+=1

 

 continue:跳过本次循环

1 count=1
2 while count <= 100:
3     if count > 3 and count <= 96:
4         count+=1
5         continue #跳过本次循环
6     print(count)
7     count+=1

 

tag法,控制多层嵌套循环的快速退出

技术分享
 1 count = 0
 2 tag = True
 3 while tag:
 4     if count > 2:
 5         print(too many tries)
 6         break
 7     user = input(user: )
 8     password = input(password: )
 9     if user == PatHoo and password == 123:
10         print(login successful)
11         while tag:
12             cmd = input(>>: )
13             if cmd == q:
14                 tag = False
15                 continue
16             print(exec %s % cmd)
17     else:
18         print(login err)
19         count += 1
View Code

 

while+else:while没有被break打断时,才执行else的子代码 

1 count=1
2 while count <= 5:
3     if count == 2:
4         break
5     print(count)
6     count+=1
7 else: #while没有被break打断的时候才执行else的子代码
8     print(=========>)

 

补充

链式赋值(a=b=c=10)

值交换(x,y=y,x)

>>> x=10
>>> y=20
>>> x, y = y, x
>>> x,y
(20, 10)

DAY01 - 变量、数据类型、流程控制