python入门知识点
查看数据类型
type()方法查看数据类型的类
a = 43
b = 'hello'
c = ['周杰伦','胡歌','李易峰'] # python中的所有代码,符号均要使用英文形式输入
print(type(a))
print(type(b))
print(type(c))
print(typr(3.14)) # float 浮点类型
标识符的命名规则
1.由数字、字母、和_组成,不能以数字开头
2.我 = ‘吴彦祖‘
print(我),也不会报错,但不推荐这种方法,容易出错
3.严格区分大小写(计算机编程里,一共由52个英文字母)
4.不能使用关键字作为标识符 关键字:在python中由特殊含义的标识符,具有特殊的功能
标识符的命名规则
1.要做到顾名思义
a = '张三'
b = 23
c = '上海'
d = 180
name = '张三'
age = 23
addr = '上海'
height = 180
字符串
字符串的下标和切片
下标和切片 step表示步长,整数代表从左往右,复数代表从右往左 不管是从右往左还是从左往右,切片的规则都是包含start而不包含end
# 下标 我们又称之为索引,表示第几个数据
# 可迭代对象;str list tuple dict set range 都可以遍历
# str list tuple 可以通过下标来获取或者操作数据
# 字符串:一个一个的字符串在一起
word = 'zhangsan!'
# 在计算机里,下标都是从0开始的
# 可以通过下标来获取或者修改指定位置的数据
print(word[4])
# 字符串是不可变的数据类型
# 对于字符串的任何操作,都不会改变原有的字符串!!!
#-------------------------------------------------------------------
# 切片就是从字符串里复制一段指定的内容,生成一个新的字符串
m = 'abcdefghijklmnopqrstuvwxyz'
print(m[5]) # m[index]-----获取指定下标上的数据
# 切片语法: m[start:end:step]---包含开头start而不包含结尾end
print(m[2:9])
# 如果只设置了start而不设置end就会从start 一直截到结尾
print(m[2:])
# 如果只设置了end而没有设置start 就会从开始一直截取到end -1,不包含end
m[:9]
# step 指的是步长,理解为间隔,每隔step-1个取一次
print(m[3:15:2])
# step的默认值就是1,步长不能是0,不然的话会报错
print(m[3:15:1])
# 步长可以为负数,代表的是从start 往左边找,找不到数据就会是空的
m[3:15:-1] # 没有数据
print(m[15:3:-1]) # 包含start 而不包含end
print(m[::]) # 从头到尾全部复制
print(m[::-1]) # 倒叙
print(m[-5:-9:-1]) # start,end为负数表示从右边数第几个,step默认的依旧是从左往右
print(m[-9:-5])
x = 'abcdefghijklmn'
# 使用内置函数 len 可以获取字符串的长度
print(len(x))
# 查找内容相关的方法find / index / rfind / rindex 可以获取指定元素字符的下标
print(x.find('l')) # 11
print(x.index('l')) # 11
print(x.find('p')) # -1 如果字符在字符串中不存在,结果是-1
#print(x.index('p')) # 报错,如果字符在字符串中不存在,结果会报错
x1 = 'asdfllkajsdfasdflkjl'
print(x1.rfind('l')) # 寻找字符串中符合的字符的最大的下标
print(x1.rindex('l')) # 寻找字符串中符合的字符的最大的下标
###字符串查找和替换
# startswith() 方法用来判断是否以。。。为开头
# endswith() 方法用来判断是否以...为结尾
print('hello'.startswith('h')) # True
print('hello'.startswith('he')) # True
print('hello'.endswith('o')) # True
# is开头的方法是用来判断的
print('hadfa'.isalpha()) # True 判断字符串里边是否全部为字母
print('asdf5asdf4'.isalpha()) # False 判断字符串里是否全部为字母
'12354'.isdigit() # True 用来判断字符串里是否全部为数字
'good'.isdigit() # True 用来判断字符串里是否全部为数字
'3.14'.isdigit() # False 有小数点也是False
# 判断用户的输入来进行数据类型调整
num = input('请输入一个数字:')
if num.isdigit():
num = int(num)
else:
print(num)
'adf2asdf5f4'.isalnum() # True 用来判断是否由数字和字母组成
'561654'.isalnum() # True
'hello'.isalnum() # True
'4 - 1'.isalnum() # False 可以有数字和字母,但是不能有符号
print(' '.isspace()) # True 用来判断是否是空格
# count() 用来计算字符的出现的次数
# replace() 方法,用来替换字符串,字符串不可变数据类型
# 原本的字符串的内容不会发生改变,replace()方法是会生成一个新的字符串来保存替换后的结果
word = 'hello'
m = word.replace('l' , 'x') # replace 将字符串里的l替换为x
print(word)
print(m)
字符串分割方法
# split splitlines partition rpartition
# 字符串类型的数据,将字符串进行切片
x = 'zhangsan-lisi-wangwu-zhaoliu-qianqi-liuba'
y1 = x.split('-') # ['zhangsan','lisi','wangwu','zhaoliu','qianqi','liuba']
print(y1) # 切割以后的结果是一个列表
z1 = x.rsplit('-') # ['zhangsan','lisi','wangwu','zhaoliu','qianqi','liuba']
print(z1)
# 最大切割数,切除来两个,剩下的不切了
y2 = x.split('-' , 2) # ['zhangsan','lisi','wangwu-zhaoliu-qianqi-liuba']
print(y2)
z2 = x.rsplit('-' , 2) # 这个r所代表的是right,是从右边切
# ['zhangsan-lisi-wangwu-zhaoliu','qianqi','liuba']
print(z2)
# partition 指定一个字符作为分隔符,分为三部分,前面一部分,分隔符一部分,后面一部分
print('afasdfadbdfb'.partition('dbd')) # [afasdfa,dbd,fb]
# 就算有两个相同的分隔符,一样也是切割为3部分
print('afasdfasbdfb'.partition('as')) # [af,as,dfasbdfb]
print('afasdfasbdfb'.rpartition('as')) # 同样的原理,这里的r所代表的是right,代表的是右边
# [afasdf,as,bdfb]
# 获取文件名和后缀名
file_name = '不要打开.mp4'
print(file_name.partition('.'))
file_name1 = '2020.12.12.mp4'
print(file_name1.rpartition('.'))