? 前几天学完了计算机基础~python基础部分的内容,今天就先整理下基础学习的知识点大纲
写这个大纲也打了这么多字,接下来是今天新知识的整理,今天开始学习python进阶的知识点了,更加烧脑了,哈哈
总结模板:
作用
定义方式
内置方法
存一个值还是多个值
有序or无序(有序:也就是有索引,无序:无索引)
可变or不可变(重点)
可变:变量值变id不变
不可变:变量值变id也变
id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型。
作用:表示年龄、号码、等级等
定义方式:可以使用int()方法将纯数字的字符串转为十进制的整型
x = 10
x = int('10')
x = int(10.1)
print(x) # 10
x = int('10.1') # 报错,int()里10.1本来就是字符串了,不需要加引号
print(x)
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:存一个值
有序or无序:整型只有一个值,没有这个说法
可变or不可变:不可变
x=10
print(id(x)) # id为1925279488
x=11
print(id(x)) # id为1925279520
值变id也变,所以整型为不可变
作用:用来表示薪资、身高、体重等
定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字
x = float('111')
print(x) # 输出为111.0
print(type(x)) # <class 'float'>
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:一个值
有序or无序:没有这一说法
可变or不可变(重点):不可变
数字类型都不可变
作用:描述性质的东西,如人的名字、单个爱好、地址、国家等
定义方式:使用‘‘、""、‘‘‘‘‘‘、""""""包裹的的一串字符
s = 'sdfklsdjfk'
s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100 # 有这种二进制的定义方式,其实一点用都没有
print(s)
# \n 换行
s = 'a\na' # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义
print(s)
# \t 缩进4个空格
s = 'a\t\ta'
print(s) # 输出结果为a a
# \r 回退上一个打印结果,覆盖上一个打印结果
print('\ra',end='') #
print('\\ra',end='') # 加一个\让后面的\变得无意义
# s = 'a\\na'
# print(s)
# s = r'\ra\t\na' # raw
# print(s)
内置方法:
s='nick handsome'
# 一、优先掌握:
# 1、按索引取值(只可取,不可改变)
print(s[1]) # 输出为i
# 2、切片(顾头不顾尾,步长)
# 索引切片
msg = 'hello nick'
# 0123456789 # 索引序号
print(f'切片3-最后: {msg[3:]}') # 从索引3的位置切片到最后一位,输出为lo nick
print(f'切片3-8: {msg[3:8]}') # 输出为lo ni
print(f'切片3-8,步长为2: {msg[3:8:2]}') # 输出为l i
print(f'切片3-最后,步长为2: {msg[3::2]}') # 输出为l ik
# 了解,步长为正从左到右;步长为负从右到左
print('\n**了解知识点**') # **了解知识点**
print(f'切片所有: {msg[:]}') # 切片所有: hello nick
print(f'反转所有: {msg[::-1]}') # 反转所有: kcin olleh
print(f'切片-5--2: {msg[-5:-2:1]}') # 切片-5--2: ni
print(f'切片-2--5: {msg[-2:-5:-1]}') # 切片-2--5: cin
# 3、for循环
s = 'nick handsome'
for i in s:
print(i) # 逐行打印s中的每个字符
# 4、strip() 移除空白
s1 = ' nick handsome '
print(s1.strip()) # 去两端的空白
s2 = '***!!!!!nick handsome----***'
print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
# s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
# 5、split() 切割
s2 = '***!!!!!nick handsome----***'
print(s2.split()) # 默认以空格切割字符串
print(s2.split('!')) # 以!切割
print(s2.split('!', 2)) # 以!切割,最大切割次数为2,也就是从找到第一个!开始切割,找到第二个!切割后就结束切割
# 6、in 或 not in 返回结果就是True或False
s2 = '***!!!!!nick handsome----***'
print('*' in s2) # True
print('$' not in s2) # True
# 7. 长度len
s2 = 'nick handsome'
print(len(s2)) # 求字符串的长度
# 二、需要掌握:
# 1. lstrip() 和 rstrip() 左移除和右移除
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*')) # !!!!!nick handsome----***
print(s2.rstrip('*')) # ***!!!!!nick handsome----
# 2. rsplit() 从右开始切割
info = 'nick:male:19'
print(f"info.rsplit(':', 1): {info.rsplit(':', 1)}") # 从右开始切割,1表示只切割一次,输出为info.rsplit(':', 1): ['nick:male', '19']
# lower&upper 把大写变小写和把小写变大写
s3 = 'aaabbJ'
print(s3.lower()) # 把字符串中所有大写变成小写,aaabbj
print(s3.upper()) # 把字符串中所有小写变成大写,AAABBJ
# startswith&endswith 以什么开头和以什么结尾,返回结果为True或False
s3 = 'aaabbJ'
print(s3.startswith('b')) # False
print(s3.endswith('J')) # True
# join(用的比较多)一般和split联用
s3 = ' '
print(s3.join(['234', '234', '234'])) # 以s3也就是以空格为间隔符,拼接列表里的每一个元素,输出为234 234 234
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/') # 先把s以/切分
print(s1) # ['辣条', '薯片', '汽水', '泡面', '火腿肠', '枸杞', '当归', '鹿茸']
print('*'.join(s1)) # 再把切分后的每一个元素间用*连接
# 输出结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
# replace 替换
s2 = 'yongjiu handsome'
print(s2.replace('yongjiu', 'gebilaowang')) # 用gebilaowang替换掉yongjiu
## isdigit(纯数字)/isalpha(纯字母) 返回结果为True或False
s2 = '12312'
print(s2.isdigit()) # True
s3 = 'aaac1c'
print(s3.isalpha()) # False
# 3、做了解即可
# find|rfind|index|rindex|count 一般常用find
s2 = '**23423***ni234234ck $$ hand223423some******'
print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1
print(s2.index('$')) # 找不到报错
print(s2.rindex('$')) # 找不到报错
字符串的内置方法得多记多用,多打代码练习,才能熟练使用
0802学习,python进阶之数字类型内置方法和字符串类型内置方法
原文:https://www.cnblogs.com/zhuangyl23/p/11291584.html