0%

1.Python变量

Python 原创基础教程

第一章 变量

1.1 前言

学习一门编程语言,首先要知道编程语言的作用,编程语言简单来说,就是用来写程序的,程序是计算机应用的载体,程序员通过编写程序进而操作计算机。

这里和我们平时操作计算机不同,我们操作计算机更多的是使用程序,但编写程序的目的更多是制作程序,所以有必要更全面深入的了解计算机。

计算机本质就是完成数据的计算,这里包括对数据的存储,对数据的计算,最后把计算的结果进行传输,对应这些功能的计算机三大部件如下:

计算 存储 IO
cpu:运算器ALU cpu寄存器 -
- 高速缓存 -
- 内存: 物理内存、虚拟内存 -
- 外存:硬盘、移动存储(U盘,移动硬盘)、ROM BIOS -

计算、存储、IO称为CPU三大核心部件,也是编程所主要涉及到的三大部件。其中程序语言的变量是放在计算机存储的部件中,循环和判断等流程控制语句是靠cpu去完成相应控制和计算。

1.2 基础变量介绍

变量是编程语言存储数据的方式,编程语言中把变量按不同类型进行分类,每一种变量存储不同类型的数据,不同的变量是不同的数据结构。

数据结构是计算机存储数据时,数据的组成方式,也是计算机软件开发的基础学科。

基础变量是最基本的数据结构,常见的有数字(包括整数,浮点数),字符串,数组等。

python中定义基础变量不需要声明类型(系统自动判断),每个变量使用前必须被赋值

1
2
3
4
5
6
7
8
9
counter = 100          # 整型变量
#其他语言要指定变量类型:int counter = 100
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串

# 输出变量
print(counter)
print(miles)
print(name)

1.3 基础数据类型

  • 数字(包括整型和浮点型)

  • 字符串

用单引号,或者双引号扩起来

1
2
3
4
5
6
7
8
n1 = 123
n2 = 123.123
s1 = 'abc'
s2 = "abc"
n1 #python通过‘#’号注释代码
n2
print(s1) #在python中通过print()函数可以输出变量,直接输出亦可
print(s2)
  • 列表

列表是集合类数据结构,类似数组,它主要存储多个数据,每个数据也称为一个元素。列表内数组的元素类型可以不同,用中括号定义。

1
l1 = [1,"2a",3]

列表里面的元素也可以是列表,这样就构成多维列表

1
2
3
4
5
6
# 列生成表达式
# 生成m*n行列表
# test = [[0 for i in range(m)] for j in range(n)]

test = [[0 for i in range(5)] for j in range(5)] #生成5*5的列表,元素值都是0

  • 元组

元组类似列表,但元组里的元素不可改变,但可以包含可变对象,例如列表。元组用小括号定义。

1
tup1 = ('physics', 'chemistry', 1997, 2000);
  • 集合

是一种无序且不重复的序列,基本功能是成员包含测试或者去重,可以使用大括号或者set()生成元组。

1
2
3
a={1,2,3}
b={1,2,3,3}
#结果相同
  • 字典

列表是有序对象的结合,字典是无序对象的集合。字典通过键值存取数据,列表通过位移偏移量存取。

a.键必须唯一

b.键必须是不可变数据类型

c.通过大括号和“:”来定义字典,或通过下标索引定义

1
2
3
4
5
dict1 = {'name': 'runoob','code':1, 'site': 'www'}

dict2 = {}
dict2['one'] = "a1" # 为字典dict2添加键为字符串“one”,值为字符串“a1”的值
dict[2] = 'a2' # 为字典dict2添加键为数字2,值为字字符串“2”的值

d. 其他构建字典的方法

1
2
3
4
5
6
7
8
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}

>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

>>> dict(Runoob=1, Google=2, Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}

e. 字典结构自带的常用函数

1.get():获得键的值
2.items():以列表方式获得字典

1
2
3
4
5
dict1 = {'name': 'runoob','code':1, 'site': 'www'}

dict1.get('name') #获取字典dict1中键为字符串'name'的值,效果等同于dict1['name']

list = dict1.items() #返回字典的列表格式,并把它赋值给list变量

1.3.1 数据类型转换

不同数据类型之间,有的可以相互转换,有的不能,python常用自带函数进行转换,常见实例如下:

1
2
3
4
5
6
7
8
9
10
11
#1
x = '178' #将字符串中的数字转换为整形
y = int(x)
# x = '178a'
# y =int(x)
# 报错,字符型不能转换为int

#2
x2 = 'abcd'
y2 =list(x2) #将字符串转换为list

1.3.2 列表详解

列表是python中最常见的数据结构,类似数组。其中一些自带的函数具有代表性,用于其他各类数据结构中。

包括列表的添加,删除,索引,切片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
la = [1,'a',{'a'},{1:'a'},True,[1,2],1]

#常见操作
len(la)

la.count('1')

la.index('a')

la+la

la*3

#添加删除操作
la.append('b')

la.extend('abc')

la.insert(3,'xxx')

la.remove(1)

la.remove(la[0])

la.pop()

del la[2]

其中切片和索引是列表操作的精髓,其同样可以用到字符串和很多类似的一维数据结构中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
la[0] #第1个元素

la[1]

la[-1] #倒数第1个元素

la[2:5] #第2到第4个元素

la[2:] #第2到最后一个元素(终点默认,不包括最后一个)

la[:5] #第1个元素到最后1个元素(起点默认)

la[2:6:2] #25个元素,步跳为2

la[::2] #第一个到最后一个元素,步跳为2(起点和终点默认)

la[::-1] #列表反转,步跳为-1

列表推导,一种通过循环来定义数据的方式

1
2
3
a = [1,2,3]

b = [a*60 for i in a]

1.3.3 字符串的其他操作

分割字符串split()

1
2
3
4
5
6
7
8
s1 = 'a:b'
x,y=s.split(':')

s2 = 'a:b:c'
x,y,z=s.split(':',2) #第二个参数代表两个分割(分为三个部分),默认是一个分割
x
y
z

列表插入函数,join()

1
2
3
4
5
6
7
8
9
#'x'.join(list)
#表示把x插入到list的每个元素之间,形成一个字符串

#1
x3 =['1','a','b','2']
y3 =''.join(x3)
y3
>>> '1ab2' #输出字符串