python学习Day5 几种数据类型的使用

时间:2022-04-29 06:09:32

今日内容

数据类型分类: int | complex | float | str | bool | list | dict | tuple | set

3种数据类型的方法:(数字、字符串、列表 )

可变与不可变:不可变:地址不变,值可变 (字符串类型、数字类型)

可变:  地址不变,值可变  (列表)

数字类型:int(整型), float(小数)、布尔、 复数(py2还有long整型 )

这些数字类型的加、减、乘数学运算

数字类型之间可直接相互转换:int()、float() 、bool()   (在while、if 条件后可自动转为bool值:True、Flase)

字符串类型 :单双三引号定义,嵌套的定义方法,自向右一 一对应,单双三组合。

通过引号嵌套,可以不在转义的情况下直接输出。转义(\n:换行 | \r:回车 | \t: tab)

常规操作:索引取值、拼接、计算字符长度、切片、字符串循环(遍历)、遍历

1.索引取值:,字符串[index]     正向取值从0编号,反向取值从-1编号

字符存储,字符串中每一个item在内存中都会单独存一个地址

s1 = '123abc呵呵'
                                                 print(id(s1)) # 2217572683576
                                                 print(s1[0], id(s1[0])) # 2217543167200
                                                 t_s = '1'
                                                 print(id(t_s)) # 2217543167200
                                                 # 取出c
                                                  print(s1[5], s1[-3])

2. 字符串的拼接,相当于相加,两种方式:%s 万能占位符(无需考虑数据类型),

将非str类型转换为str类型

3. 计算字符长度len() 、

4. 字符串切片,也可反向切         sub_s = s4[-1:-6:-1]

5. 成员运算:item in 字符串,返回 False、True

s5 = '123abc呵呵'
                                                         ss5 = '12a'
                                                         print(ss5 in s5) # False
                                                         print(ss5 not in s5) # True

6.字符串循环(遍历)

重要方法:1.返回目标索:  引(目标字符串的索引位置),字符串变量名.index(item), item为目标字符

2.去留白(默认去两端留白,也可以去指定字符):s2.strip(" * ")

3.计算子字符串个数: s3.count('123')

4.判断字符串是否是数字:  s4.isdigit()    只能判断正整数 ,返回True、Flase

5. 大小写转换

s5 = "AbC def"
print(s5.upper()) # 全大写
print(s5.lower()) # 全小写
# 了了解
print(s5.capitalize()) # 首字母大写
print(s5.title()) # 每个单词首字母大写

6. 判断以某某开头或结尾 :.startswith、.endswith

s6 = 'https://www.baidu.com'
r1 = s6.startswith('https:')
r2 = s6.startswith('http:')
r3 = s6.endswith('com')
r4 = s6.endswith('cn')
if (r1 or r2) and (r3 or r4):
print('合法的链接')
else:
print('非合法的链接')

7.替换 .replace(“被替换的”, '新值')  # 默认替换所有,可以设定替换个数   .replace('egon', 'Liu某')

8. 格式化 .format   标注位置,一个值可以多次利用  |   指名道姓

#### 了了解

```python
'''
1. find | rfind:查找子字符串索引,无结果返回-1
2. lstrip:去左留白
3. rstrip:去右留白
4. center | ljust | rjust | zfill:按位填充
语法:center(所占位数, '填充符号')
5. expandtabs:规定\t所占空格数
6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
7. isdigit | isdecimal | isnumeric:数字判断
8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
9. isidentifier:是否是合法标识符
10. islower | isupper:是否全小 | 大写
11. isspace:是否是空白字符
12. istitle:是否为单词首字母大写格式

列表类型    定义:可以存放多个值,可以存放所有类型的数据,   list中有序的,可以通过索引取值

             常规操作:  索引取值、 列表运算: 得到的是新list、list的长度、切片、成员运算:in、循环

增删改查 :增  .append(末尾) 、  .insert(1, 666)  # 任意index前增、.insert(len(ls), 888)  # insert实行末尾增

删    .remove(888)删指定元素、.pop()  # 默认从末尾删,并返回删除的值、.pop(1)  # 从指定索引删除,并返还删除的值

了了解 :.del  |  .clear   |  排序.sort() # 默认正向排序  |  .sort(reverse=True) # 正向排序结果上翻转,形成倒序  | .extend('123') 整体增加,添加到末尾

目标的索引位置,可以规定查找区间 .index(1, 3, 6)   .index(value, start=None, stop=None)

del ls[2]
print(res, ls)
# 清空
ls.clear()
print(ls)

#### 了解的方法

```python
# 1)排序: 针对于同类型
ls = ['3', '1', '2']
ls.sort() # 默认正向排序
print(ls)
ls.sort(reverse=True) # 正向排序结果上翻转,形成倒序
print(ls)

# 2)翻转
ls = ['3', '1', '2']
ls.reverse() # 按存储的顺序进行翻转
print(ls)

# 3)计算值的个数 => 列表中可以存放重复数据
ls = [1, 2, 1, 2, 3, 1]
print(ls.count(1)) # 对象1存在的次数