开始了,继续说!字符串替换,就是预留着空间,后边再定义要填上什么,这种叫字符串格式化,其有两种方法: %    和 format

%s  就是一个占位符,这个占位符可以被其它的字符串代替

>>> "I like %s" % "python"

'I like python'

占位符 说明
%s 字符串(采用str()的显示)
%r 字符串(采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)

string.format()的格式化方法,其中{索引值}作为占位符,这个好变着花样的玩哦,这个不错,嘻嘻

>>> s1 = "I like {0}".format("python")

>>> s1

'I like python'

关于类似的操作,还有很多变化,比如输出格式要宽度是多少等等,找了一个参考图,你看看开心就好

split   这个函数的作用是将字符串根据某个分割符进行分割

>>> a = "I LOVE PYTHON"

>>> a.split(" ")

['I', 'LOVE', 'PYTHON']                  (这是用空格作为分割,得到了一个名字叫做列表(list)的返回值)

>>> b = "www.itdiffer.com"

>>> b.split(".")

['www', 'itdiffer', 'com']                   (这是用"."作为分割,得到了一个名字叫做列表(list)的返回值)

String.strip() 去掉字符串的左右空格

String.lstrip() 去掉字符串的左边空格

String.rstrip() 去掉字符串的右边空格

String.upper() #String中的字母大写

String.lower() #String中的字母小写

String.capitalize() #首字母大写

String.isupper() #String中的字母是否全是大写

String.islower() #String中的字母是否全是小写

String.istitle() #String中字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

join拼接字符串

>>> b='www.itdiffer.com'

>>> c = b.split(".")

>>> c

['www', 'itdiffer', 'com']

>>> ".".join(c)

'www.itdiffer.com'

>>> "*".join(c)

'www*itdiffer*com'

列表

一些用逗号分隔而有序的数据,用方括号表示一个list,[ ] 在方括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值 ['2',3,'北京图灵','outman']

bool()是一个布尔函数,这个东西后面会详述。它的作用就是来判断一个对象是“真”还是“空”(假)

列表可以索引和切片,前面字符串我好像啰嗦过了,都是一样的

这里拓展下 双冒号使用,其实Python序列切片地址可以写为[开始:结束:步长],那么其中的开始和结束省略,就出现双冒号了

开始start省略时,默认从第0项开始。结尾省略的时候,默认到数组最后。步长step省略默认为1。当step等于负数的时候,从右向左取数

>>> alst = [1,2,3,4,5,6]

>>> alst[::-1]       #从右向左取数(反转过来了)

[6,5,4,3,2,1]

上面反转我们可以用reversed函数

>>> list(reversed(alst))

[6,5,4,3,2,1]

好了下面我转用anaconda 里面的 jupyter打命令演示了(之前是在官方python3.7)没有 >>>

append()方法在列表的末尾添加一个元素

s = [1,'a','3']
s.append('t')
print(s)

[1, 'a', '3', 't']

insert()任意位插入一个元素 (说到位置,你想到什么?没错,就是索引)

s = [1,'a','3']
s.insert(3,'t')       #在索引为3的位置加字符t,也就是字符串3后边
print(s)

[1, 'a', '3', 't']

使用del语句删除元素

motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)
['yamaha', 'suzuki']

pop()弹出任意位置一个元素       (同样说位置,还是用索引,弹出?就是拿出来)

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.pop(1)       #括号内不填写默认为0,经常弹出的这个值我们会用到,这就是特殊的地方
print(motorcycles)
['honda', 'suzuki']

remove()不知道要从列表中删除的值所处的位置,只知道要删除的元素的值。(知道你要删除啊啥,这就够了)

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
motorcycles.remove('ducati')
print(motorcycles)
['honda', 'yamaha', 'suzuki']

好了,再说几个,不做命令演示了

list.clear()    从列表中删除所有元素。相当于 del a[:]

list.index(x)   返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误

list.count(x)    返回 x 在列表中出现的次数

list.sort()    对列表中的元素就地进行排序

list.reverse()    就地倒排列表中的元素

list.copy()    返回列表的一个浅拷贝。等同于 a[:]      说说这个吧,你可能会问啥是浅拷贝?演示代码给你看下,你会发现确实新拷贝的列表ID不一样,但里面元素ID一样

b = ['honda', 'yamaha', 'suzuki']
a = b.copy()
print(id(b))           #查看列表b的ID
print(id(b[1]))       #查看列表b中索引值为1的元素ID
print(a)
print(id(a))           #查看列表a的ID
print(id(a[1]))       #查看列表a中索引值为1的元素ID

99844368

list.extend(b)      将一个给定列表中的所有元素都添加到另一个列表中,相当于 a[len(a):] = b 这个理解么?就是说列表a其切片从索引值"len(a)"到结束的部分就是列表b
a = [1, 2, 3]
b = ['qiwsir', 'python']
a.extend(b)
print(a)
[1, 2, 3, 'qiwsir', 'python']                    这里你想下和append()的区别

说到这,就不得不深入下,extend函数也是将另外的元素增加到一个已知列表中,其元素必须是iterable,什么是iterable?也就是可迭代

迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果

hasattr()的判断本质就是看那个类型中是否有__iter__函数。可以用dir()找一找,在数字、字符串、列表、元组、集合、字典,谁有__iter__(截图了,打命令好累)

为什么?数字你搞什么!

那我们想下,列表都干啥用呢?

1. 把列表当作堆栈使用

列表方法使得列表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来

2. 把列表当作队列使用

可以把列表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)

3. 列表推导式(可嵌套)

列表推导式为从序列中创建列表提供了一个简单的方法。普通的应用程式通过将一些操作应用于序列的每个成员并通过返回的元素创建列表,或通过满足特定条件的元素创建子序列

零基础Python知识点回顾(二)的更多相关文章

  1. 零基础Python知识点回顾(一)

    如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符  输入检查是否已经安装pip,一般安装了python都会有的. >pip         ...

  2. 零基础Python知识点回顾(三)

    元组 元组是用圆括号括起来的,其中的元素之间用逗号隔开.(都是英文半角)tuple(元组)跟列表类似是一种序列类型的数据,特点就是其中的元素不能更改 既然是有序的,那么,嘿嘿,不错,它也可以有索引,能 ...

  3. 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的42-45讲 {字典}

    #coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=1021108 ...

  4. 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-23讲

    #coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...

  5. 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的1-14讲

    #coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=1587383 ...

  6. 零基础JavaScript编码(二)

    任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...

  7. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

  8. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  9. 零基础Python应该怎样学习呢?(附视频教程)

    Python应该怎样学习呢? 阶段一:适合自己的学习方式 对于零基础的初学者来说,最迷茫的是不知道怎样开始学习?那这里小编建议可以采用视频+书籍的方式进行学习.看视频学习可以让你迅速掌握编程的基础语法 ...

随机推荐

  1. jquery监控input输入框的变化

    (function($) { $.fn.watch = function(callback) { return this.each(function() { //缓存以前的值 $.data(this, ...

  2. git把dev部分提交过的内容合并到master

    git 把dev部分提交过的内容合并到master $ git reflog a6de5cc HEAD@{}: checkout: moving from wf_dev to master 303aa ...

  3. select(有局限性),jq循环添加select的值

    加载的时候改变select的默认值,只需改变select的value值 $("#one").val(@ViewBag.val);//@ViewBag.val是要默认选中的值的val ...

  4. WPF-MVVM学习心德(WinForm转WPF心德)

    接触MVVM接近一段时间了,有一点理解,写下来. 之前是做winform的,工作需要,学习wpf.优缺点就不用说类,网上一大堆.我自己理解的话,有下面几点: 1.首先是界面的xmal和界面分离:wpf ...

  5. XML再深入

    XML 命名空间 XML 命名空间提供避免元素命名冲突的方法. 使用前缀来避免命名冲突 在 XML 中的命名冲突可以通过使用名称前缀从而容易地避免. 该 XML 携带某个 HTML 表格和某件家具的信 ...

  6. 进程和程序(Process and Program)

    原出处:http://oss.org.cn/kernel-book/ch04/4.1.htm ----------------------------------个人理解分割线------------ ...

  7. Dozer 实现对象间属性复制

    使用场景:两个领域之间对象转换. 比如:在系统分层解耦过程中, 对外facade接口,一般使用VO对象,而内core业务逻辑层或者数据层通常使用Entity实体. VO对象 package com.m ...

  8. 【代码笔记】Java Web初入:XML的进一步深入了解

    2015-12-25 文件名    guojia.xml <?xml version="1.0" encoding="GB2312"?> <! ...

  9. sass(混合mixin的调用、@content)

    sass中使用@mixin声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值.声明的@mixin通过@include来调用 1.无参数mixin scss.styl ...

  10. python 继承式多线程

    Thread是线程类,有两种使用方法,直接传入要运行的方法或从Thread继承并覆盖run(): Thread继承 import threading import time class MyThrea ...