python入门知识点

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('.'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值