python day05
数字类型
1、整型:整数
num = 1000000000000
type(num) --->int
2、浮点型:小数
num = 123.2341
type(num) --->float
3、布尔值:True Flase(可以转换成0和1进行任何int可以进行运算)
布尔值实质就是int 0 和 1 的转换
print(True + True) --->2
4、复数(了了解)
num = complex(3,4) # num = 3 + 4j
5、数据类型的转换(整型、浮点型、布尔值随意转换)
n1 = 10 ; n2 = 3.74 ; n3 = True
print(int(n1),int(n2),int(n3)) -->10 3 1
print(float(n1),float(n2),float(n3)) -->10.0 3.74 1.0
print(bool(n1),bool(n2),bool(n3)) -->True True True
注:浮点型转换成整型是取整,后面小数舍弃
字符串类型(所有数据类型都可以转换成字符串类型)
定义:被多种引号包裹的被称为字符串(' ' | " " | ''' ''' | """ """)
输出需求不同,通过不同的引号来完成
字符串的常规操作
1、通过索引取值(index)#从0开始
n = '123abc奥尔'
print(n[3],type(n[3])) ---> a str
#注:index从0开始,如果索引超过字符的个数,就会报错
2、切片(取子字符串,[ : : ])
n = '123abc奥尔'
1) print(n[::]) 取出整个字符串 '123abc奥尔'
2) print(n[2::]) 取出从2开始到结尾的字符串 '3abc奥尔'
3)print(n[2:5:]) 取出从2开始到5(不包括5)结尾的字符串 '3ab'
4)print([2:5:2]) 取出从2开始到5(不包括5)结尾,步长为2的字符串 '3b'
5)print(n[::-1]) 步长为-1,倒着取值 '尔奥cba321'
3、长度(len)
n = '123abc奥尔'
print(len(n)) --->8
4、成员运算(in not in)
n = '123abc奥尔'
print('123' in n) -->True
print('13a' in n) -->False
#注:必须是连续的在里面出现,才是True,不能跳
5、for循环(遍历)
n = '123abc奥尔'
for i in n:
print(i,end='') -->'1' '2' '3' 'a' 'b' 'c' '奥' '尔'
6、字符串的拼接
1)两个字符串类型拼接直接用字符串的基础运算
str +str =str
2)不同类型拼接
a)都先转换成字符串类型再进行拼接
str(int) + str +str(bool) = str
b)格式化拼接
str = '%s%s%s'%(str,int,bool)
a = 10
b = "20"
c = True
res = "%s%s%s" % (a, b, c)
print(res) ==># res = "1020True"
重要方法
1、去留白(去除两边的空白) #strip()
n = '******owen******'
print(n.strip('*')) #取出字符串两边的*,如果strip()括号里不填默认去除两边的空格
#lstrip()只去除左边的空格,rstrip()只去除右边的空格
#注:strip()只会去除两边的空格或者字符,并不会去除中间的。
2、查找字符的索引 #index()
n = '123abc奥尔12312'
print(n.index(a,start,end)) #查找a在n中的索引 ,可以设置查找的区间[start,end)
#注:如果n中存在多个a,只会查找到区间中第一个a的索引
# 找不到就会报错,(下文提到的find也是查找字符的索引,找不到返回-1)
3、计数(某个字符出现的个数) #count()
n = '123abc奥尔12312'
print(n.count('123')) -->2
print(n.count('12')) -->3
#找不到就返回0
4、format格式化输出
1)'name:{},age:{},height:{}'.format('owen',18,160) #按顺序添加,后面的值必须和前面的{}一一对应
#后面值的个数比前面少就会报错,多的话不会报错但也取不到(没意义)
2)'name:{0},age:{1},height:{1}'.format('owen',18) #按索引添加,后面的值可以循环使用
3)'name:{na},age:{ag},height:{he}'.format(na = 'owen',ag = 18,he = 160) #按key添加,forrmat后面元素不用理顺序
5、判断字符是否是数字(isdigit)
n = '123'
print(n.isdigit()) -->True
#注:只能判断自然数(正整数和0),负数和小数返回False
6、大小写转换
1)全部转换成大写 #upper()
name = 'oWeN'
print(name.upper()) -->OWEN
2)全部转换成小写 #lower()
name = 'oWeN'
print(name.lower()) -->owen
3)首字母大写(其他转换成小写) #capitalize()
name = 'oWeN'
print(name.capitalize()) -->Owen
4)单词首字母大写(其他转换成小写) #title()
name = 'oWeN keVin'
print(name.title()) -->Owen Kevin
7、是否以什么开头什么结尾 #startswith() endswith()
name = 'oWeN keVin'
print(name.startswith('ow')) -->False
print(name.endswith('in')) -->True
8、替换 #replace(old,new,count)
name = 'oWeN keVin'
print(name.replace('e','E')) 'oWEN kEVin' #把所有的e全部改成'E'
print(name.replace('e','E',1)) 'oWEN keVin' #只改一个
了解
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:是否为单词首字母大写格式
列表类型
定义:被[]包起来的为列表,中括号里为任意类型的值
ls = [1,2] #本质是ls = list([1,2])
列表的常规操作
1、通过索引取值
2、切片
3、成员运算
4、for循环(遍历)
5、长度
6、列表的拼接
##参考上面字符串常规操作方法
对于for循环有一个案例:
#ls = [1,2,3,'4',5,6] 现在的需求是只打印列表ls里的数字
for i in ls:
if isinstance(i,int):
print(i)
##涉及到isinstance的使用 isinstance(变量,(数据类型))
##括号里的数据类型可以是一个也可以是多个,作用就是判断该变量的类型在不在括号中
##在返回True 不在返回False
增删改查
查
ls = [1,2,3,'4',5,6]
print(ls[2]) --> 3
增 append()与insert()
append()
在列表的末尾添加
insert(index,变量)
按索引添加元素,添加在index之前
删 remove() pop()
remove(元素)
删除指定元素,没有返回值 从前往后开始删除,只能删除第一次出现的元素
pop(index)
按索引删,如果不输入默认从末尾删,有返回值,如果索引超出范围就会报错
改
ls = [1,2,3,'4',5,6]
ls[2]='a'
print(ls) -->[1,2,a,'4',5,6]
了解
1、排序 #sort() 只能排序同种类型,字符串也能排序
ls = [3,1,2]
print(ls.sort()) -->[1,2,3] #正向排序
print(ls.sort(reverse = True)) #正向排序的基础再反转(默认reverse = False(不反转))
2、反转 #reverse
ls = [3,1,2]
print(ls.reverse()) [2,1,3]
3、计算出现的次数 #count()
参考字符串
了了解
1、整体添加 #extend()
2、查找元素的索引 #index(元素)
可以规定区间,只返回元素第一次出现的索引
不写默认全部区间查找
可变与不可变类型
1. 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型
2. 不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型
##可变不可变主要是针对id不变的情况下,值可以变就是可变类型,反之亦然
python day05的更多相关文章
- My way to Python - Day05 - 面向对象-思维导图
My way to Python - Day05 - 面向对象 思维导图
- python day05笔记总结
2019.4.2 S21 day05笔记总结 一.昨日内容回顾与补充 1.extend(列表独有功能) 循环添加到一个列表中 a.有列表users = ['张三',‘李四] people = [' ...
- My way to Python - Day05 - 面向对象
思维导图
- python day05 作业答案
1. b.不可以 c.tu=("alex",[11,22,{"k1":"v1","k2":["age" ...
- python day05字典
一.字典 1.字典的结构: a={key:value,key2:value},key是不可变的,value是可变的. 例子:dic = {123: 456, True: 999, "id&q ...
- python day05作业
- 铁乐学Python_day05-字典dict
1.[字典dict] Python内置了字典:dict的支持,dict全称dictionary, 在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典和列表直观上 ...
- Python基础(协程函数、内置函数、递归、模块和包)-day05
写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04 ...
- python开发学习-day05(正则深入、冒泡排序算法、自定义模块、常用标准模块)
s12-20160130-day05 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
随机推荐
- MySQL 中 update 修改数据与原数据相同会再次执行吗?
阅读本文大概需要 2.8 分钟. 作者:powdba 来源:阿里云栖社区 一.背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执 ...
- 关于获取资源文件,Class.getResource和ClassLoader.getResource的区别
原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-02-22/29.html 作者:夜月归途 出处:http://www.guitu ...
- 简单介绍shell编程四剑客之awk
概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...
- 整合 MyPerf4J 做Java性能监控和统计工具
快速启动MyPerf4J MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入. 打包 项目地址: https://github.com/LinShunKang ...
- keil教程之新建软件工程
前言 工欲善其事,必先利其器.要学好52单片机,就要会用keil写程序.不然,谈何学习单片机.下面介绍keil的使用. keil简介 Keil C51是美国Keil Software公司出品的51系列 ...
- MVC中使用Ninject依赖注入
在.NET MVC中使用Ninject注入,主要分为以下几步: 使用NuGet包添加Ninject引用,我添加的是目前最新版本3.34 在App_Start文件夹下,创建NinjectControll ...
- 【转】IIS上的反向代理
http://blog.csdn.net/yuanguozhengjust/article/details/23576033 一直说在IIS上做反向代理,由于沉迷在nginx一行指令完事的美好情景当中 ...
- MVC开发模式简述
了解MVC开发模式,首先我们要了解一下发展趋势 一.什么是软件设计 Jack W.Reeves 于14年前(1992年),就在其撰写的论文——<What is Software Design&g ...
- .NET垃圾回收机制 GC
线程栈 stuck:存值类型,和引用类型的引用 先进后出,链表形式,连续摆放 CLR(公共语言运行库(Common Language Runtime))启动进程,main函数为一个线程入口 进程堆h ...
- Huffman Tree 简单构造
//函数:构造Huffman树HT[2*n-1] #define MAXVALUE 9999//假设权值不超过9999 #define MAXLEAF 30 #define MAXNODE MAXLE ...