python命令行程序
要致富,先修路(好好学习)
变量
变量の类型
基础数据类型
字符串(string)
“我是神来之笔大神”,双引号中的内容被叫做字符串,’hello,Wrold!’,单引号和双引号的作用是一样的,但是可以用来区别因为英文的撇号,如:”I’m Tom”,或者’my name is “Tom” ‘
整数型(int)
无符号的数字(除负号)被叫做整数(如:200.0就不是整数)(1、2、3、4.。。。。)
浮点型(float)
带符号的数字,如2.0、1.1、-2.5等等,开发过程中避免去使用浮点数
布尔型(bool)
逻辑运算,结果真假(True/False)(1/0)非0值都为真,只有0代表假
python特有的数据类型
元组(tuple)
表示一组数据,数组集合,
元组的表示方法:('hello',100,10.1,True)
,使用括号将多组数据括起来,中间使用逗号隔开
元组的特性:
有序的:定义好的位置不会改变
只读的:元组定义好的不能改变
可索引:根据索引下标进行索引
如:('hello',100,10.1,True)
,有两个索引下标,如下所示
0 1 2 3
0 -3 -2 -1
列表(list)
与原则几乎相同,表示一组数据
列表的表示方法:['hello',100,10.1,True]
,使用中括号将多组数据括起来,逗号隔开
列表的特性:丰富的操作方法(增删改查等等)、有序的、可索引的,索引下标与元组一样
与元组的区别就在于操作方法和只读
字典(dict)
多键值对存储结构
字典的表示方法:{'name':'zs','old':20,'like':'girl'}
,使用大括号括起来,key:value一个键对应一个值,使用逗号隔开,键名不能相同
字典的特性:
无序的:通过hash散列进行存储
可索引:被键名索引
可读可写
不常用的数据类型
集合(set)
去重后的列表
集合的表示方法:{1,2,1,3,2,3,'hello'}
,结果出来之后会变成{1,2,3,'hello'}
可被索引,需要将集合转换为索引
变量の命名规则
变量名不能以数字开头
变量名不可以和关键字冲突
变量名只能由a-z,A-Z,0-9,_组成
python是一种弱类型语言
弱类型语言:变量类型无需预定义,自动识别变量类型
强类型语言:变量类型需要预定义,由开发人员手动指定变量类型
弱类型
name = ['zhangsan','xiaozhang','xiaosan'] 默认识别为list
old = 18 #默认识别为int
old = "hello,world!" #默认识别为str
强类型
int old = 18 #必须预定义数据类型为int
python是一种强格式语言
存在游标卡尺
变量数据类型展示
a = "hello,world!" #str字符串
b = 100 #int整数
c = 10.5 #float浮点数
d = True #bool布尔
f = [1,2,3,4,5,6,7,8,9,0] #list列表
g = (0,9,8,7,6,5,4,3,2,1) #tuple元组
h = {'a':1, 'b':2} #dict字典
i = {1,2,1,3,2,3} #set集合
print(a,b,c,d,f,g,h,i) #print用来输出变量
Python与云计算
云计算发展现状和需求
人工智能、数据挖掘、数据分析
ECU引擎控制单元(汽车应用)、C/C++
UNIX:由美国AT&T公司的贝尔实验室研发
Python
Python与C/C++相比
C/C++:相比Python唯一的优点,运行效率高
Python:性能过剩,不需要考虑运行效率
语言的区分
面向对象:C++、Python、Go、Java、PHP
把数据都作为对象来看,进行操作,如:预定义了一个变量,针对变量进行操作
学习成本高,提高开发效率
面向过程:C语言
代码死板
Python注释的添加
单行注释:在最开头加入sharp符(#),也可以使用单引号进行注释
a = 10 #单行注释
#这是一段注释文本
'单行注释'
多行注释:使用三引号进行多行注释
'''
多行注释
使用三引号
引起来即可
python中没有多行注释
使用三引号可以将多行内容转换为字符串
'''
对数据类型的操作
元组(tuple)
使用下标输出指定变量值
a = ('hello','jake',20,10.5) #定义变量a,值为hello,jake,20,10.5
print(a[1]) #使用[]来进行索引下标,输出变量a的正下标1的值,也就是第二个变量值
使用下标修改指定变量值
a[1] = 'rose'
TypeError: 'tuple' object does not support item assignment
#元组对象不支持修改值,因为变量类型为元组
列表(list)
使用下标输出变量值
a = ['hello','rose',20,10.5] #定义变量a
print(a[1]) #输出变量a的索引下标1的值
修改变量值
a[1] = 'jake' #列表支持变量值的修改
print(a) #输出变量a的所有值
追加变量值
append():追加变量值
a.append('Chai') #追加数据
print(a)
['hello', 'rose', 20, 10.5, 'Chai']
清除变量值
clear():清空数据
a.clear() #清空变量中的所有值
print(a)
[]
浅复制
copy():复制一个变量的值赋予另一个变量
b = a.copy() #浅复制
print(a, b)
['hello', 'rose', 20, 10.5] ['hello', 'rose', 20, 10.5]
#同样使用b = a也可以进行复制
b = a #设定b的变量值和变量a一样
a[1] = 'jake' #修改a下标为1的值为jake
print(a, b) #b的值随着a的变化而变化
['hello', 'jake', 20, 10.5] ['hello', 'jake', 20, 10.5]
Python动态内存管理机制
pymalloc
b = a.copy()
#以上的原理相当于,a=['hello', 'rose', 20, 10.5],b=['hello', 'rose', 20, 10.5]
b = a
#以上原理相当于,a=['hello', 'rose', 20, 10.5],b=a=['hello', 'rose', 20, 10.5]
变量扩展
extend():将一个变量的值,追加到另一个变量中
a = ['hello','rose',20,10.5] #定义变量a
b = [1,4,2,3] #定义变量b
a.extend(b) #将b的值扩展到变量a中
print(a)
['hello', 'rose', 20, 10.5, 1, 4, 2, 3]
a.extend([1,4,5,4]) #也可在括号中直接添加值将1,4,5,4扩展到变量a中
print(a)
['hello', 'rose', 20, 10.5, 1, 4, 5, 4]
删除单独指定的变量值
remove():可以删除列表中的单个值,下标也会随之变化
a = ['hello','rose','hello',20,10.5]
a.remove('hello') #删除变量值中的hello
print(a)
['rose', 'hello', 20, 10.5] #只删除检测到的第一个hello
弹出变量值
pop():从列表中弹出变量值,也可理解为删除单个指定位置变量值
a = ['hello','rose',20,10.5]
a.pop(1) #pop括号中指定索引下标
print(a)
['hello', 20, 10.5]
#也可以使用pop将数据弹出到另一个变量中
b = a.pop(1)
print(a, b)
['hello', 20, 10.5] rose
查询变量值的索引下标
index():
格式:index(value, [start, [stop]])
查询值所在的下标位置,查询起始下标位置和停止下标位置
a = ['hello','rose',20,10.5]
print(a.index('rose')) #查询a变量中rose所在的下标位置
1
print(a.index('rose', a.index('hello'))) #也可以使用index的套用来定位起始下标
1
#下标中也可以使用算数运算符
print(a.index(20, a.index('hello') + 1)) #表示从hello所在下标位置的下一位开始查询
2
如果变量中存在两个hello,要查询第二个hello的位置,但也不知道第一个hello的位置,进行如下操作
a = ['hello','rose','hello',20,10.5]
print(a.index('hello', a.index('hello') + 1))
2
变量中插入数据
insert():在指定位置插入指定数值
格式: insert(index, value)
例:
a = ['hello','rose','hello',20,10.5]
a.insert(2, 'haha') #在索引下标2位置添加haha
print(a)
['hello', 'rose', 'haha', 'hello', 20, 10.5]
例:使用套入index来识别插入位置
a = ['hello','rose','hello',20,10.5]
a.insert(a.index('hello'), 'haha')
print(a)
['haha', 'hello', 'rose', 'hello', 20, 10.5]
字典(dict)
大部分操作与列表类似,以下列出最常用的操作
使用键名索引得到指定值
a = {
'name' : 'zs',
'old' : 22,
'sex' : 'man',
'say' : 'money and woman is life!' ,
'money' : ['梅赛德斯奔驰','GTR','布加迪威龙','红旗']
}
print(a['name'])
zs
使用索引得到字典索引中的列表索引的指定值
a = {
'name' : 'zs',
'old' : 22,
'sex' : 'man',
'say' : 'money and woman is life!' ,
'money' : ['梅赛德斯奔驰','GTR','布加迪威龙','红旗']
}
print(a['money'][(2)])
输出多个值
a = {
'name' : 'zs',
'old' : 22,
'sex' : 'man',
'say' : 'money and woman is life!' ,
'money' : ['梅赛德斯奔驰','GTR','布加迪威龙','红旗']
}
print(a['money'][(2)], a['name'])
清空字典
clear()
a = {
'name' : 'zs',
'old' : 22,
'sex' : 'man',
'say' : 'money and woman is life!' ,
'money' : ['梅赛德斯奔驰','GTR','布加迪威龙','红旗']
}
a.clear()
print(a)
{}
修改指定键值
a = {
'name' : 'zs',
'old' : 22,
'sex' : 'man',
'say' : 'money and woman is life!' ,
'money' : ['梅赛德斯奔驰','GTR','布加迪威龙','红旗']
}
a['name'] = 'lisi'
print(a['name'])
lisi
查看字典中所有的键名
print(a.keys())
dict_keys(['name', 'old', 'sex', 'say', 'money'])