python简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
python变量
什么是变量:
在python中,变量其实严格意义上称作为“名字”,也可以理解为标签。
当我们把一个值赋给一个变量的时候(比如把"小志"赋值给name,即name="小志"),name就称之为变量,小志就是值。从底层看:程序中的数据都要放在内存条内,变量就是这块内存的名字。
变量的定义规范:
变量名是标识符的一种,不能随便起,必须要遵守 Python 标识符命名规则:
- 变量名只能是字母、数字、下划线的任意组合
- 变量名严格区分大小写
- 变量名的第一个字符不能是数字
- 以下划线开头的变量名有特殊含义,除非特定场景需要,应避免使用以下划线开头的变量名。
- 变量名不能和 Python 关键字或函数名相同。
如何查看python的内置关键字:
import keyword print(keyword.kwlist)
#运行结果 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的赋值:
Python 变量的赋值指的是将数据放入变量的过程。Python 变量无须声明数据类型就可以直接赋值,Python 变量的数据类型可以随时改变,比如,同一个变量可以被赋值为字符串,也可以被赋值为整数。
Python 变量的基本赋值格式:
name='小志' #将小志赋值给name print(name) #输出name,实际上是将变量name的值输出
执行结果为
Python还可以为多个变量赋同样的值:
执行结果为
Python还可以为多个变量赋不同的值:
执行结果为:
Python数据类型
python数据类型主要分为以下七大类:
- Numbers(数字)
- Boolean(布尔)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- Set(集合)
1、数字类型(Numbers)
Python的数字类型包括:
int(长整型) 就是整数的,例如1,2,3,-1,10
float(浮点型)就是带小数的,例如1.1,1.2,0.1,0.123
complex(复数)由实部(real)和虚部(imag)构成,是科学运算中常用的到的数学概念。
2、布尔类型(Boolean)
布尔类型是与逻辑相关一种数据类型,只有两个值:True(真)与False(假)
3、字符串类型(String)
字符串是由单引号、双引号或者三引号引起来的内容,可以是数字、字母、汉字、下划线组成的任意文本。
字符串的切分:
当定义一个变量为字符串时,会将字符串进行切分并标明地址值,比如定义一个name='xiaozhi',字符串在内存中的存放顺序为:
当我们读取字符串的地址1的字符时对应的字母为i,
print(name[1]) #读取下标为1的字符 i
当读取字符地址2-4的字母时,要注意的是字母的范围应该是2 ≤ X < 4,也就是ao,
print(name[2:4]) #读取下标为2-3的字符 ao
当:左右两侧有省略时,则读取前面或后面整个的字符,当:左右都省略时则读取全部字符,可省略
print(name[:4]) #读取0-3的字符 xiao print(name[4:]) #读取4到末尾的字符 zhi
print(name[:]) #读取全部字符
xiaozhi
带步长的切分为[左下标:右下标:步长]
print(name[::2]) #从左往右,步长为2读取字符 xazi
负数下标为从右向左读取字符
print(name[-1]) #从右往左,读取第一个字符 i
print(name[-4:-1]) #从右往左,读取倒数第四、第三、第二个字符,不包含最后一个
ozh
字符串的拼接:
字符串的拼接用+来实现,如
name='小志' message='很高兴认识你' print(name+message)
小志很高兴认识你
字符串的复用:
字符串的拼接用*来实现,如
name='小志' print(name*3) 小志小志小志
4、列表类型(List)
列表好比就是一个容器,可以容纳多个数据,这些数据也可以是不同的数据类型,比如字符串、数字、元组、列表。
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}]
生成整数列表
lst=[a for a in range(1,10)] print(lst) [1, 2, 3, 4, 5, 6, 7, 8, 9]
生成a-z字母列表
lst1=[i for i in string.ascii_letters[:26]] print(lst1) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
列表是python中最常用的数据类型,里面包含的数据用逗号隔开,且数据类型是可变化的。列表常用操作方法有,增 加、删除、修改、查找,还可以对列表进行遍历、排序、反转等。
首先定义一个列表lst:lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}]
添加数据:
append():列表结尾追加数据,可以是任何数据类型
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}] lst.append('小志') #在列表末尾追加'小志' print(lst)
[15, 0, 16, 15.0, 'xiaozhi', 'python', [1, 2], {'b', 'a'}, '小志']
extend():列表结尾追加数据,如果数据是一个列表,则将这个列表的数据逐一添加到列表
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}] lst.extend(['x','y','z']) print(lst) [15, 0, 16, 15.0, 'xiaozhi', 'python', [1, 2], {'b', 'a'}, 'x', 'y', 'z']
insert():指定位置新增数据
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}] lst.insert(1,'小志') #1是下标,将小志插入到列表下标1的位置 print(lst)
[15, '小志', 0, 16, 15.0, 'xiaozhi', 'python', [1, 2], {'a', 'b'}]
删除数据:
del() : 删除指定数据或全部数据
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}] del lst #将整个列表lst全部删除 print(lst) #执行打印会报错
Traceback (most recent call last):
File "C:\Users\Administrator\PycharmProjects\pythonProject1\test.py", line 8, in <module>
print(lst)
NameError: name 'lst' is not defined #因为列表已经被删除,所以会报找不到lst的错误
lst=[15,0,16,15.0,'xiaozhi','python',[1,2],{'a','b'}]
del lst[2] #指定列表lst下标来删除数据,删除下标为2的数据,也就是列表中的16
print(lst)
[15, 0, 15.0, 'xiaozhi', 'python', [1, 2], {'a', 'b'}]
pop():删除指定下标的数据,不指定默认删除最后一个
lst=[15,0,16,15.0,'xiaozhi','python'] lst.pop(4) #指定删除下标4的数据 print(lst)
[15, 0, 16, 15.0, 'python']
lst=[15,0,16,15.0,'xiaozhi','python']
lst.pop() #不指定下标默认删除最后一个
print(lst)
[15, 0, 16, 15.0, 'xiaozhi']
remove():删除列表中的元素。
a=[1,2,3,4,5,1,2,3] a.remove(1) #删除列表中的元素,如果列表中有重复的,只删除前面的一个 print(a) [2, 3, 4, 5, 1, 2, 3]
clear():清空列表中的所有数据
lst=[15,0,16,15.0,'xiaozhi','python'] lst.clear() print(lst) []
修改数据:
列表修改也是通过下标来定位的
a=[1,2,3,4,5,1,2,3] a[1]=0 #将列表中下标为1的数据替换为0 print(a)
[1, 0, 3, 4, 5, 1, 2, 3]
a=[1,2,3,4,5,1,2,3]
a[1:4]=[0,0,0] #将列表中下标为1-4(不包含4)的数据替换成0,0,0
print(a)
[1, 0, 0, 0, 5, 1, 2, 3]
查询数据:
遍历列表中的数据:
lst=[15,0,16,15.0,'xiaozhi','python'] for i in lst: print(i)
15
0
16
15.0
xiaozhi
python
index():查询数据在列表中的索引(下标)
lst=[15,0,16,15.0,'xiaozhi','python'] print(lst.index('xiaozhi')) #查询'xiaozhi'在列表中的索引,若有重复元素,只显示第一个元素的索引
4
判断数据是否存在列表中(True或False)
lst=[15,0,16,15,15.0,'xiaozhi','python'] print('xiaozhi'in lst) print('小志' in lst)
True
False
reverse():列表的反转
a=[1,2,3,4,5,1,2,3] a.reverse() print(a) [3, 2, 1, 5, 4, 3, 2, 1]
sort():列表的排序
a=[1,2,3,4,5,1,2,3] a.sort() #升序,从小到大 print(a) [1, 1, 2, 2, 3, 3, 4, 5]
a=[1,2,3,4,5,1,2,3]
a.sort(reverse=True) #降序,从大到小
print(a)
[5, 4, 3, 3, 2, 2, 1, 1]
count():列表中元素个数的统计
a=[1,2,3,4,5,1,2,3] print(a.count(1)) #打印元素1在列表中的个数 2
5、元组类型(Tuple)
元组和列表类似,两者的区别主要有两点:
1、元组不能对其元素进行更改变动(增加元素、变换元素位置、修改元素、删除元素),而列表允许;
2、元组用()表示,而列表用[]表示。
元组的基本操作包括建立元组、查找和统计元素、合并元组、转换元组和删除元组等。
元组的基本操作:
a=(1,2,3,4) #定义元组 b=('a','b','c','d') #定义元组 print(a) (1, 2, 3, 4) print(b) ('a', 'b', 'c', 'd') c=a+b #合并元组 print(c) (1, 2, 3, 4, 'a', 'b', 'c', 'd') print(len(c)) #统计元组c中元素的个数 8 print(max(a)) #打印元组中最大值的元素 4 print(sum(a)) #打印元组中所有元素的和 10 print(min(b)) #打印元组中最小值的元素 a print(type(c)) #打印对象的类型 <class 'tuple'> lst=[15,0,16,15,15.0,'xiaozhi','python'] #定义一个列表 print(type(lst)) #打印类型 <class 'list'> lst2=) #类型转换,将列表转换为元组 print(type(lst2)) <class 'tuple'>
6、集合类型(Set)
集合创建:
集合的创建有直接创建和使用关键字创建,直接创建就是用{}里面添加数据进行创建,集合创建后,数据时唯一的(不能同时存在多个相同的数据),如果数据全为数字会按从小到大顺序进行排列,一个集合中能够存在多种数据类型的数据。
关键字创建集合使用set(),当set()创建集合或者往()内添加字符串时,会将字符串拆分为单个字符后创建,且字符时无序的。
s1={1,2,3,4} #创建数字集合
s2={'a','b','c','d'} #创建字符
s3={1,2,3,'abc',('a','b')} #创建不同数据类型的集合
s4=set('12345') #使用set()创建集合
print(s1)
print(s2)
print(s3)
print(s4)
{1, 2, 3, 4}
{'a', 'c', 'b', 'd'}
{1, 2, 3, 'abc', ('a', 'b')}
{'2', '5', '3', '4', '1'}
集合添加数据:
add():向集合中添加数据,如果集合中存在需要添加的数据,则不做任何操作,一次只能添加一个数据,并且数据类型不能是列表、集合、字典。
s1={1,2,3,4} s1.add(5) s1.add('abc') print(s1) {1, 2, 3, 4, 5, 'abc'}
update():向集合中添加数据,添加的数据是一个序列,可以同时添加多个数据,添加数据的数据类型可以为元组、列表、集合,添加的数据为字符串时会拆分为单个字符然后添加到集合中。
s2={'a','b','c','d'} s2.update('e','f') #添加多个数据 print(s2) s2.update(('f','g')) #添加元组 print(s2) s2.update(['h','i']) #添加列表 print(s2) {1, 2, 3, 4, 5, 'abc'} {'f', 'c', 'b', 'a', 'd', 'e'} {'f', 'c', 'b', 'g', 'a', 'd', 'e'} {'f', 'h', 'c', 'b', 'g', 'a', 'i', 'd', 'e'}
集合删除数据:
remove():通过数据来指定集合中需要删除的数据。当集合中存在元组时,不能只删除元组中的某一个数据,需要将元组全部删除。
s1={1,2,3,4,(5,6)} s1.remove(4) print(s1) 运行结果: {1, 2, 3, (5, 6)}
s1={1,2,3,4,(5,6)}
s1.remove(4)
print(s1)
s1.remove((5,6)) #必须删除元组,要不然会报错
print(s1)
结果:
{1, 2, 3, (5, 6)}
{1, 2, 3}
discard():删除集合中指定的数据,如果需要删除的数据不存在不会报错。
s1={1,2,3,4,(5,6)} s1.discard(1) print(s1) s1.discard(5) #因为5在数据中是元组,所以没有被删除掉 print(s1) 运行结果: {2, 3, 4, (5, 6)} {2, 3, 4, (5, 6)}
pop():删除集合中排序的第一个数据,因为集合除了数字都是无序的,可能删除值是随机的
s1={'a','b','c','d','e','f'} s1.pop() print(s1) s1.pop() print(s1) s1.pop() print(s1) 执行结果: {'f', 'c', 'b', 'e', 'a'} {'c', 'b', 'e', 'a'} {'b', 'e', 'a'}
clear():清空集合
s1={'a','b','c','d','e','f'} s1.clear() print(s1) 执行结果: set()
7、字典类型(Dictionary)
字典是Python中比较常用的数据结构,字典中每个成员是以“键:值”对的形式存放具有映射关系的数据。
字典的创建:
dict1={'身高':175,'体重':140,'年龄':30} print(dict1) 执行结果: {'身高': 175, '体重': 140, '年龄': 30}
通过键访问值:
dict1={'身高':175,'体重':140,'年龄':30} print(dict1['身高']) 执行结果: 175
往字典添加数据:
dict1={'身高':175,'体重':140,'年龄':30} dict1['性别']='男' print(dict1) 执行结果: {'身高': 175, '体重': 140, '年龄': 30, '性别': '男'}
将元组、列表或集合变成字典类型并赋值
seq = ('baidu','guge','ali') a = dict.fromkeys(seq) #将seq元组中的元素转换成字典的形式,key为元组中的元素,value为None print(a)
执行结果:
{'baidu': None, 'guge': None, 'ali': None}
b = dict.fromkeys(seq, 1) #将seq元组中的元素转为字典的形式,并赋值为1
print(b)
执行结果:
{'baidu': 1, 'guge': 1, 'ali': 1}
清除字典中的元素,得到的是空的字典。返回值None
dict1={'身高':175,'体重':140,'年龄':30} dict1['性别']='男' dict1.clear() print(dict1) 执行结果: {}
删除字典中的某一个元素 pop
dict1={'身高':175,'体重':140,'年龄':30} dict1.pop('年龄') print(dict1) 执行结果: {'身高': 175, '体重': 140}
标签:变量,python,s1,数据类型,元组,lst,print,列表 From: https://www.cnblogs.com/xiaozhi1223/p/17074000.html