目录

一、数字型(整型、浮点型)

二、字符串

三、列表

四、补充前提知识

学习思路:

#======================================基本使用======================================
#1、用途#2、定义方式#3、常用操作+内置的方法#======================================该类型总结====================================
#存一个值or存多个值#有序or无序#可变or不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

前提知识:

  可变类型:值变了,内存地址id 不变,这样的称为可变类型。

  不可变类型:值变了,内存地址 id 也改变,称为不可变类型。

两句话(需要注意):1、id相等,值一定相等!

         2、id不相等,值不一定相等!

一、数字型

整型:int

基本使用:

1、用途:记录整型数据可以存储的内容,如银行卡号,QQ号等等

2、定义:age = 18  # age = int(18)

3、内置方法:

  十进制转其他进制

# 10进制转其他进制# 10进制转二进制
print(bin(12))  # 0b1100  0b表示后面的数字是二进制数# 10进制转八进制
print(oct(12))  # 0o14  0o表示后面的数字是八进制数  14 >>> 1*(8**1) + 4*(8**0))# 10进制转16进制
print(hex(12))  # 0xc  0x表示后面的数字是十六进制数

  其他进制转10进制

# 其他进制转十进制print(int('1100',2))  # int可以传第二个参数,表示的是第一个参数到底是什么进制  然后转成十进制print(int('14',8))print(int('c',16))

类型总结:

1、只能存一个值

2、因为只有一个值,所以无所谓有序无序

3、不可变类型:因为值不同id也不同

浮点型:float

基本使用:

1、用途:存储使用小数记录的数据内容,如圆周率、身高、体重等等非整数型数据。

2、定义:salary = 3.1  # salary = float(3.1)

3、内置方法:可以将纯数字型字符串转为浮点型数据

res = float('1.11')
>>> 1.11

二、字符串

基本使用:

1、用途:描述性

2、定义:单引号,双引号,三引号

3、内置方法:

字符串内置方法--优先需要掌握的

1、按索引取值(正向取,反向取):只能取值

s = 'hello big baby!'
print(s[0])
h
print(s[-1])
!

2、切片(顾头不顾尾,步长):从一个长的字符串中截取一小段形成一个新的字符串

# 左边的固定就是头,右边固定就是位  没有说按数字来分头尾

s = 'hello big baby!'
print(s[0:5])
hello
print(s[0:10:2])
hlobg

View Code

了解负数取值

s = 'hello big baby!'print(s[-1])  # -1 代表字符串的尾部
!print(s[0:10:-1])  # 切片取值默认是从左到右的,所以从0开始想-1取值的话,结果为空
print(s[10:0:-1])  # 切片起始定位在下标为10的位置,-1代表反方向0的位置取步长
b gib olleprint(s[-1:-10:-1])  # -1代表字符串尾部,-10代表向左取值,步长为-1
!ybab gib

了解负数取值

3、长度len(),统计字符串中字符的个数

s1 = 'CQUPT'
len(s1)
5

4、成员运算 in 和not in :判断一个子字符串是否在一个大的字符串中

print('egon' in 'egon is a big sb and he is the first handsome man in hongqiao')
True
print('jason' not in 'egon is the first handsome man!')
True

5、去掉字符串左右两边的字符 strip ,不管两边的

注意:内置方法一律使用句点符 “.”

username = input(输入你的名字:").strip()  # strip()方法可以去掉输入字符两边的空格等
if username == 'jason':print('欢迎登录!')

name1 = ' jason'
name2 = 'jason'
name1 == name2  # 返回False,两个变量不相等,name1中有空格
Falsename1 = ' jason'.strip()  # 去掉两端的空格
name2 = 'jason'
name1 == name2
True

View Code

  去掉字符串中左右两端特定的字符,如

1 name = '&&&egon$$jason&&'
2 name.strip('&')
3 'egon$$jason'

  去字符串左边字符 lstrip() ,去掉字符串右边字符 rstrip()

1 name = '&&&egon$$jason***'
2 name.lstrip('&')
3 'egon$$jason***'
4 name.rstrip('*')
5 '&&&egon$$jason'

6、切分 split :针对按照某种分隔符组织的字符串,可以用 split 将其切分成列表,然后取值。

1 data = 'egon|jason|sean and 小猴'
2 data.split('|')
3 ['egon', 'jason', 'sean and 小猴']

  注意:1、按照什么分隔符来切分就会将该分隔符在字符串中取消

     2、split切分出来的结果是一个列表

     3、split 指定位置来切分

1 # split 指定位置切分
2
3 data.split('j')
4 ['egon|', 'ason|sean and 小猴']

  补充:split()方法后面跟着两个参数,'特定字符' 和 ‘切割次数’

str1 = 'egon&jason&sean&tank&小猴'
str1.split('&')
['egon', 'jason', 'sean', 'tank', '小猴']
str1.split('&',2)
['egon', 'jason', 'sean&tank&小猴']

7、循环

data = 'egon|jason|sean'
for i in data:print(i)

需要掌握的

1、strip()、lstrip()、rstrip()

2、lower() upper() :将字符串全部转为小写或大写形式

1 name = ' jaSOn'
2 name.lower()
3 ' jason'
4 name.upper()
5 ' JASON'

3、startswith() 和 endswith() :判断字符串是以什么开头和以什么结尾!

1 data = 'shanghai is a cold city!'
2 data.startswith()  #报错原因是 ()内必须输入一个元素来进行判断
3 Traceback (most recent call last):
4   File "<input>", line 1, in <module>
5 TypeError: startswith() takes at least 1 argument (0 given)
6
7 data.startswith('h')
8 False

View Code

4、format 的三种玩法(Python推荐用 format 做格式化输出,但是一般还是占位符 %s 使用的比较多)

  a、第一种按位置占,原理和%s一样

1 str1 = "my name is {} my school is {}".format('jason','重邮')
2 print(str1)
3 my name is jason my school is 重邮

  b、第二种是按索引占位     --- 该索引指的是format 括号里参数的索引

1 str1 = "my name is {2} my school is {2}".format('jason','重邮','信科')
2 print(str1)
3 my name is 信科 my school is 信科

  c、指名道姓占位(关键字传参)

str1 = "my name is {name} my school is {school}".format(name='jason',school='重邮',room='信科')
print(str1)
my name is jason my school is 重邮

5、split() 、rsplit()

6、join() :将容器类型中的多个字符通过指定字符拼接成一个字符串

1 data = 'egon|jason|sean'
2 data.split("|")
3 ['egon', 'jason', 'sean']
4 res =data.split("|")
5 res_1 = "$".join(res)  # 使指定字符拼接
6 print(res_1)
7 egon$jason$sean

  补充: 由以上程序结果可知,不同数据类型是无法拼接的,只能拼接字符串,因为程序结果就是字符串

7、replace() 替代方法

进行替代str = 'egon is a open boy!'
str.replace('egon','jason')
'jason is a open boy!'

  其中replace()还可以指定第几个元素进行替代  replace(self,old,new,count)

1 str1 = 'chongqing is beautiful city,and more and more cool girl want to eat chongqing huoguo!'
2 str1.replace('chongqing','shaghai',1)  # 注意replace()里面的count 是从‘1’开始的,
3 'shaghai is beautiful city,and more and more cool girl want to eat chongqing huoguo!'

8、isdigit() :判断字符串中是否是纯数字

while True:age = input('>>>:')if age.isdigit():age = int(age)if age > 28:print('阿姨好')else:print('你他妈的能不能好好输')

View Code

需要了解的内置方法

1、find() rfind()  index() rindex() count

s = 'kevin is dsb o and kevin is sb'
str = s.re
print(s.find('dsb'))  # 返回的是d字符所在的索引值
print(s.find('xxx'))  # 找不到的时候不报错返回的是-1
print(s.find('i',0,3))  # 还可以通过索引来限制查找范围
print(s.index('o'))  # 返回所传字符所在的索引值
print(s.index('i',0,3))  # 返回所传字符所在的索引值
print(s.count('n'))  # 统计字符出现的次数

  补充:find 和 index的区别

     1、find 查找指定字符出现第一个字母的索引值,可以指定查找范围,如果找不到返回-1

     2、find 查找指定字符出现第一个字母的索引值,可以指定查找范围,如果找不到就会报错!

str1 = 'egon&jason&sean&tank&小猴'
str1.find('egon')
0str1.find('egon',0,3)  # 0~3没有索引到,返回-1
-1str1.index('egon',0,4)  # 可以看出这里的查询范围也是顾头不顾尾,0~4
0str1.index('egon',0,3)  # 报错!
Traceback (most recent call last):

View Code

2、center()  ljust() rjust() zfill()

s9 = 'jason'
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9.rjust(40,' '))
print(s9.zfill(40))

3、expandtables()

s10 = 'a\tbc'
print(s10.expandtabs(100))

4、captalize()  swapcase()    title():将每个单词的首字母进行大写

s12 = 'hElLo WoRLD sH10'
print(s12.capitalize())  # Hello world 文本收个单词的首字母大写
print(s12.swapcase())  # 大小写互换
print(s12.title())  # 每个单词的首字母大小

5、is系列--不太需要,用 isdigit()  即可

类型总结

1、只能存一个值

2、有序,(有序,但凡有索引的数据都是有序的)

3、不可变类型

三、列表 ---- 内部原理就是 for 循环

基本用法:

作用:容器

定义:[ ] 可以装多个任意类型的值,并用逗号分隔开

基本的内置方法:

str = 'abcf'
list(str)
['a', 'b', 'c', 'f']

由上可以看出:list 内部原理就是for 循环,所以list内部必须放容器类型!

需要优先掌握的方法

1、按索引取值(正向取值,负向取值):既可存也可取。

2、切片(顾头不顾尾,步长)

l = [1,2,3,4]
print(l[0:4])  # 列表的切片
[1, 2, 3, 4]print(l[0:4:2])  # 列表按步长切片
[99, 3]print(l[0::])  # 第一个:默认到最后    第二个:默认步长为1
[1, 2, 3, 4]print(l[5::-2])  # 5大于列表索引下标无意义,6也行,只要大于最大索引值即可,反向取值,步长-2
[4, 2]  print(l[6::-1])
[4, 3, 2, 1]l[0]=99  # 列表中的元素是可变的,由此退出列表是可变类型。
l
[99, 2, 3, 4]

3、列表元素添加*****

  a、尾部添加  append()

1 list_1 = [1,2,3,4]
2 list_1.append(99)
3 list_1
4 [1, 2, 3, 4, 99]

View Code

  b、指定位置添加 insert()

list_1 = [1,2,3,4]
list_1.insert(2,99)  # 注意:我们添加的元素是在索引值的前面
list_1
[1, 2, 99, 3, 4]

  c、添加容器,如添加列表等 用 extend()方法

list_1 = [1,2,3,4]
list_2 = [33,44,77]
list_1.extend(list_2)
list_1
[1, 2, 3, 4, 33, 44, 77]

  由上述代码可以看出,extend()方法的原理就是将list_2的元素for 循环列出来,在append 添加进list_2中

4、列表删除元素

  a、del()  适用于所有的操作,直接将元素删除       del (列表名[索引值])

  b、 pop() 尾部弹出元素  *****

list_1 = [1,2,3,4]
list_1.pop()
4

# pop()指定位置删除元素
list_1 = [1,2,3,4]
list_1.pop(2)
3

 c、remove() 删除指定的元素

list_1 = [1,2,3,4]
list_1.remove(3)
list_1
[1, 2, 4]

5、长度计算 len()

6、成员运算 in 和 not in

7、循环    for i in list:

类型总结:

1、可以存多个值

2、有序

3、可变类型:原因!!! list 内部原理如图所示

转载于:https://www.cnblogs.com/qinsungui921112/p/11126598.html

day5 ---- 数据类型及常用方法(字符串、列表)相关推荐

  1. python字符串,列表,字典的常用方法

    本篇内容 字符串的常用方法 列表的常用方法 字典的常用方法 字符串的常用方法 center 字符居中显示,指定字符串长度,填充指定的填充字符 string = "40kuai" p ...

  2. python字符串筛选输出_如何在Python中过滤字符串列表

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...

  3. Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程

    目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...

  4. python序列类型包括字符串_python序列类型字符串列表元组

    字符串 序列:序号 列 012345678 索引 序列类型,就是带有索引的数据类型:字符串/列表/元祖 name = 'wuhao dsb' # 012345678 name3 = name[0] n ...

  5. python 常用字符串 列表元祖字典都 自带的函数方法

    上节内容回顾和补充编程语言高级低级Python种类JavaPythoncPython *****pypy字节码 和 机器码Python程序:1. 终端:C:\python35\python.exe D ...

  6. java list 去空字符串_从字符串列表中删除空字符串

    我想从python中的字符串列表中删除所有空字符串. 我的想法如下: while '' in str_list: str_list.remove('') 有没有更多的Python方式可以做到这一点? ...

  7. python基础3---循环和字符串列表

    复习: 1.字符串和数字之间不能⽐⼤⼩,但可以判断是否相等(⼀定不相等) 2.在判断中使⽤or的时候,后边的判断条件⼀定要写全,不能只写⼀个数据值 对于数字来说: 0-->False,其余的全是 ...

  8. Python教程学习简记1--Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set

    本文主要是学习Python基础: Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set 本文根据廖雪峰的官方网站-Python教程,认真学习,一步一步实操并 ...

  9. python列表元素统计ls_给定列表ls = [1, 2, 3, 1, 2, 3],其元素包含2种数据类型,哪个选项是列表ls的数据组织维度?...

    [单选题]列表ls,哪个选项对ls.append(x)的描述是正确的? [单选题]哪个选项是下面代码的输出结果? d= {'a': 1, 'b': 2, 'b': '3'} print(d['b']) ...

最新文章

  1. cent0S7根分区扩容以及问题解决
  2. 详解布局之--静态、自适应、流式、响应式
  3. Codeforces 1149 题解
  4. CYQ.Data 轻量数据访问层(八) 自定义数据表实现绑定常用的数据控件(中)
  5. streaming api_通过Spring Integration消费Twitter Streaming API
  6. python学习笔记:遍历目录
  7. 金蝶报表制作_BI报表不光好看,更好用,为什么很多人却还不知道?
  8. 2 追踪光线=》2.6 反射光线
  9. H3C Comware平台的优势
  10. R语言入门(第一篇)--R软件基本操作
  11. java火星坐标转百度坐标_各种地理坐标系的转换,火星坐标,百度坐标,wsg84等...
  12. 父亲节!程序员给父亲一份代码信
  13. HPnbsp;Jetdirectnbsp;打印服务器配置
  14. ffmpeg视频剪辑视频长度问题,视频无声音,视频卡顿问题
  15. C#毕设asp.net江山旅游网站管理系统(论文+源码)
  16. 笔记:分布式大数据技术原理(一)Hadoop 框架
  17. 多周期MACD趋势共振制作的方法
  18. 让线程按顺序执行8种方法(转载)
  19. 4核cpu云服务器性能,4核cpu云服务器性能测试
  20. 直播推流神器 Kplayer 手把手教你在B站7*24h全天直播

热门文章

  1. map for循环_阿里面试问我hashMap的循环姿势有哪几种?
  2. python爬取豆瓣电影top250的名字_Python爬虫-爬取豆瓣电影Top250
  3. 码匠编程:学习Web前端开发时有哪些技术点
  4. 处理机和处理器的区别
  5. python 100实例_[Python] Python 100例
  6. 麦克纳姆轮运动原理_光是怎样被证明是电磁波的?麦克斯韦超凡的数学统一电学和磁学!...
  7. react优秀项目案例_2020中国5G+工业互联网大会:鄂州2项目现场签约,2项目入选十大优秀案例...
  8. 理想制动力分配曲线matlab源代码_宝马进入“血拼”状态,动力倍儿棒
  9. freebsd php mysql_在freebsd和linux下安装mysql+php+apache2
  10. 如果一栋楼起火谁赔偿_太原一辆快递车起火!赶紧看看有你的包裹没?