0802学习,python进阶之数字类型内置方法和字符串类型内置方法

0802学习内容整理

计算机基础~Python基础的知识点大纲

​ 前几天学完了计算机基础~python基础部分的内容,今天就先整理下基础学习的知识点大纲

计算机基础之编程

什么是编程语言

什么是编程

为什么要编程

计算机的五大组成

cpu

控制器

运算器

内存

外存

输入设备

输出设备

IO设备

应用程序的启动流程

多核CPU

32位和64位

机械硬盘工作原理

固态硬盘

计算机基础之操作系统

什么是文件

什么是应用程序

操作系统的作用

计算机系统的三大组成

操作系统的启动流程

编程语言的分类

机器语言

汇编语言

高级语言

解释型语言

编译型语言

网络的瓶颈效应

python基础

执行python程序的两种方式

交互式

命令行式

变量

什么是变量

变量的组成

变量名的命名规范

定义变量名的两种格式

常量

什么是常量

定义常量的方式

python变量内存管理

引用计数

python垃圾回收机制

小整数池

花式赋值

链式赋值

交叉式赋值

注释

单行注释

多行注释

数据类型基础

数字类型

字符串类型

列表类型

字典类型

布尔类型

解压缩

python与用户交互

格式化输出的三种方式

占位符

format格式化

f-String格式化

基本运算符

算术运算符

比较运算符

逻辑运算符

赋值运算符

身份运算符

运算符优先级

流程控制之if判断

单分支结构

双分支结构

多分支结构

if嵌套

流程控制之while循环

while+break

while+continue

while+else

while嵌套

流程控制之for循环

for+break

for+continue

for+else

for嵌套

有序或无序

可变或不可变

写这个大纲也打了这么多字,接下来是今天新知识的整理,今天开始学习python进阶的知识点了,更加烧脑了,哈哈

一、数据类型内置方法

总结模板:

  • 作用

  • 定义方式

  • 内置方法

  • 存一个值还是多个值

  • 有序or无序(有序:也就是有索引,无序:无索引)

  • 可变or不可变(重点)

    可变:变量值变id不变

    不可变:变量值变id也变

    id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型。

1.1 数字类型内置方法

1.1.1 整型

  • 作用:表示年龄、号码、等级等

  • 定义方式:可以使用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也变,所以整型为不可变

1.1.2浮点型

  • 作用:用来表示薪资、身高、体重等

  • 定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字

    x = float('111')
    print(x)        #  输出为111.0
    print(type(x))  #  <class 'float'>
  • 内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=

  • 存一个值还是多个值:一个值

  • 有序or无序:没有这一说法

  • 可变or不可变(重点):不可变

数字类型都不可变

1.2 字符串类型内置方法

  • 作用:描述性质的东西,如人的名字、单个爱好、地址、国家等

  • 定义方式:使用''、""、''''''、""""""包裹的的一串字符

    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('$'))  # 找不到报错
  • 存一个值还是多个值:一个值
  • 有序or无序:有序,只要是有索引的,都是有序的,因此字符串是有序的
  • 可变or不可变(重点):不可变

字符串的内置方法得多记多用,多打代码练习,才能熟练使用

猜你喜欢

转载自www.cnblogs.com/zhuangyl23/p/11291584.html