数字类型

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的更多相关文章

  1. My way to Python - Day05 - 面向对象-思维导图

    My way to Python - Day05 - 面向对象   思维导图

  2. python day05笔记总结

    2019.4.2 S21 day05笔记总结 一.昨日内容回顾与补充 1.extend(列表独有功能) 循环添加到一个列表中 a.有列表users = ['张三',‘李四]   people = [' ...

  3. My way to Python - Day05 - 面向对象

    思维导图

  4. python day05 作业答案

    1. b.不可以 c.tu=("alex",[11,22,{"k1":"v1","k2":["age" ...

  5. python day05字典

    一.字典 1.字典的结构: a={key:value,key2:value},key是不可变的,value是可变的. 例子:dic = {123: 456, True: 999, "id&q ...

  6. python day05作业

  7. 铁乐学Python_day05-字典dict

    1.[字典dict] Python内置了字典:dict的支持,dict全称dictionary, 在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典和列表直观上 ...

  8. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  9. python开发学习-day05(正则深入、冒泡排序算法、自定义模块、常用标准模块)

    s12-20160130-day05 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

随机推荐

  1. ThreadLocal的原理,源码深度分析及使用

    文章简介 ThreadLocal应该都比较熟悉,这篇文章会基于ThreadLocal的应用以及实现原理做一个全面的分析 内容导航 什么是ThreadLocal ThreadLocal的使用 分析Thr ...

  2. Java地位被撼动?Java与JavaScript的趣事连载

    第一回 JavaScript的进攻 公元2014年,Java 第八代国王终于登上了王位. 第一次早朝,国王坐在高高的宝座上,看着毕恭毕敬的大臣,第一次体会到了皇权的威力. 德高望重的IO大臣颤悠悠地走 ...

  3. JDK、JRE、JVM三者间的联系与区别

    有Java编程经验的程序员应该都知道:Java程序是运行在JVM(Java虚拟机)上的,在开发程序之前都要配置Java开发环境,其中首先要做的就是JDK的安装和配置,那么JDK.JVM.JRE到底有何 ...

  4. [Swift-2019力扣杯春季决赛]1. 有序数组中的缺失元素

    给出一个有序数组 A,数组中的每个数字都是 独一无二的,找出从数组最左边开始的第 K 个缺失数字. 示例 1: 输入:A = [4,7,9,10], K = 1 输出:5 解释: 第一个缺失数字为 5 ...

  5. React教程(一) React介绍与搭建

    React的介绍: React来自于Facebook公司的开源项目 React 可以开发单页面应用 spa(单页面应用) react 组件化模块化 开发模式 React通过对DOM的模拟(虚拟dom) ...

  6. Python开发:部分第三方库无法在线安装解决方法

    前言:Python开发:Python2和Python3的共存和切换使用 一.问题如下: 1.截图: 2.错误信息: Could not find a version that satisfies th ...

  7. lambda和匿名内部类使用外部变量为什么要语义final?

    今天群里讨论java的lambda实现. 后来不断衍生谈到了为什么lambda和匿名内部类只能使用语义final的外部变量. 最开始以为是java的lambda实现问题,编译期魔法会把外部引用作为参数 ...

  8. 记一次尴尬的Java应用内存泄露排查

    这星期被线上JVM内存占用不断增大的问题所困扰,自己提出了一些假设,然后去实施验证都一一失败了,有一些经验和教训在这里分享下. 之所以是尴尬,是最后因为修复了另一个看似不相关的问题导致内存不再上升,但 ...

  9. (转载)IQueryable和IEnumerable

    第一篇:https://www.cnblogs.com/zgqys1980/p/4047315.html: 第二篇:https://www.cnblogs.com/shenbing/p/5394228 ...

  10. 程序猿想聊天 - 創問 4C 團隊教練心得(一)

    今天難得參加了創問舉辦的 4C 團隊教練課程 From : http://www.cccoach.cn/Home/Activity/show/id/449.html 整個課程主要圍繞著 Common ...