1 字符串类型

  在python中字符串类型用str表示,字符串的连接用 +

  1.1 创建字符串对象

    ·创建一个字符串对象有两种方式,一种方式是直接用字符串进行赋值,另外一种是利用str类实例化对象;具体格式如下:

a = str("warrior")
print("变量a的值为:", a)
print("变量a的类型为:", type(a))
b = "fury"
print("变量的值为:", b)
print("变量b的类型为:", type(b))

    

  1.2 字符串对象常用的方法

    1.2.1 title()

      返回原字符串中的所有单词的首字母大写后的的字符串,常用于标题的显示

    def title(self): # real signature unknown; restored from __doc__
"""
S.title() -> str Return a titlecased version of S, i.e. words start with title case
characters, all remaining cased characters have lower case.
"""
return ""

      

    1.2.2 upper()

      将字符串全部转化成大写,数据在存储前通常先转化成大写或者小写在存储,显示时再转化成想要的格式进行输出

    def upper(self): # real signature unknown; restored from __doc__
"""
S.upper() -> str Return a copy of S converted to uppercase.
"""
return ""

      

    1.2.3 isupper()

      判断字符串是否全部都是大写

    def isupper(self): # real signature unknown; restored from __doc__
"""
B.isupper() -> bool Return True if all cased characters in B are uppercase and there is
at least one cased character in B, False otherwise.
"""
return False

      

    1.2.4 casefold()

      在对量个字符串进行比较的时候如果不区分大小写时需要用到

    def casefold(self): # real signature unknown; restored from __doc__
"""
S.casefold() -> str Return a version of S suitable for caseless comparisons.
"""
return ""

      

    1.2.5 center()

      字符串输出填充用的

    def center(self, width, fillchar=None): # real signature unknown; restored from __doc__
"""
S.center(width[, fillchar]) -> str Return S centered in a string of length width. Padding is
done using the specified fill character (default is a space)
"""
return ""

      

    1.2.6 strip()

      去掉字符串两边的空白

    def strip(self, chars=None): # real signature unknown; restored from __doc__
"""
S.strip([chars]) -> str Return a copy of the string S with leading and trailing
whitespace removed.
If chars is given and not None, remove characters in chars instead.
"""
return ""

      

  1.3 小练习

    1.3.1 姓名格式化

      需求:将用户输入的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello XXX, would you like to learn some Python today?”;要求用户的姓名在进行输出时必须是每个单词首字母大写。

      

      拓展:姓名分别一小写、大写显示

  1.4 格式化

    字符串在进行输出时常常需要进行一些格式化,这样可以提高代码的可读性,在Python中支持两种格式化方法

    1.4.1 利用占位符实现

      技巧01:如果不确定该用那种占位符,用%s永远都会起作用

      这种方法的和C语言类似,常见的占位符有

        %d -> 整数

        %f -> 浮点数

        %s -> 字符串

        %x -> 十六进制整数

        

      技巧02:整数可以设定整数位数,浮点型可以设置小数位数

        如果传入的数字不够指定位数时默认用空格代替或者指定用0代替

          

    1.4.2 利用字符串格式化函数实现

      format是python字符串类型中的一个字符串格式化函数

    def format(self, *args, **kwargs): # known special case of str.format
"""
S.format(*args, **kwargs) -> str Return a formatted version of S, using substitutions from args and kwargs.
The substitutions are identified by braces ('{' and '}').
"""
pass

        

2 强制类型转化

  “123” + 4 这样的表达式有两层意思:一层是将4看成是字符串,+ 进行字符串的拼接;另外一层是将“123”看成整型,+ 进行数学运算;在python3中会理解成前面一种,但是python3会检测到错误,因为python3在利用 + 进行字符串的拼接操作时两边必须都是字符串类型,否则会报类型错误:

  

  2.1 强制类型转化的格式

    数据类型(带转化的数据)

    

  2.2 小练习

    2.2.1 计算圆的周长、面积

      需求:手动输入圆的半径,自动计算出圆的直径、周长、面积

      

3 列表

  列表由一系列按特定顺序排列的元素组成。可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

  3.1 列表表示

    在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。

list = ['warrior', 'fury', 123, ['peter', 'bob']]
print(list)

  3.2 访问列表元素

    列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。 要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

    技巧01:列表的索引好是从0开始的

    技巧02:请求获取列表元素时,Python只返回该元素,而不包 括方括号和引号

    技巧03:通过将索引指定为-1,可让Python返 回最后一个列表元素

      

  3.3 小练习01

    3.3.1 依次访问列表元素

      需求:创建一个名为students的学生列表,该列表中国存放的是学生的姓名,依次访问学生列表中的所有元素并进行格式化输出

students = ["warrior", "peter", "bob", "zeus"]
for i in students:
print(i.title())

    3.3.2 添加问候语

      需求:依次访问studnets列表中的所有元素,在输出时添加问候语,例如: XXX, 欢迎你

      

  3.4 修改、添加、删除列表元素

    3.4.1 修改列表元素

      修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改 的元素的索引,再指定该元素的新值。

      技巧01:修改列表元素的值并不会改变列表变量的值,因为列表变量的值存放的是对象的引用(即:存放的是地址)

      技巧02:修改雷彪元素的值,那么该列表元素的值会发生变化,因为该元素的指向发生了变化,元素变量中存放的对象引用也就发生了变化;但是列表变量的值是不会发生变化的,但是对列表进行输出时会发生变化,因为虽然列表变量存放的是对象的引用,而这个引用中的内容发生了变化,所以输出列表时发生了变化

      坑01:在python中一切皆对象,所以变量存放的是对象的引用(即:对象的地址),在输出变量时python会根据这个引用去找到对应的对象,然后进行输出

      坑02:id is == 之间的区别

        id -> 变量地址

        is -> 比较两个变量指向的对象的地址

        == -> 比较两个变量指向对象的内容

      

    3.4.2 在列表中添加元素

      技巧01:添加元素后列表变量的对象指向没有变,列表变量的地址也没有变

      》在列表末尾添加元素

        方法append()将元素 'XXX' 添加到了列表末尾,方法append()让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的 append()语句添加元素。

        

      》在列表中添加元素

        利用issert()方法在列表中添加元素,例如:insert(1, "fury")  -> 在列表的第二个元素位置处添加 “fury”, 原来第二个位置及之后的位置都会向后移动一个位置

        

    3.4.3 删除列表元素

      》使用del语句删除元素

        知道要删除的元素在列表中的位置,可使用del语句去删除该元素

        

      》使用pop()删除列表元素

        要将元素从列表中删除,并接着使用它的值时通常使用pop()实现;方法pop()可删除列表末尾的元素,并让你能够接着使用它。

        坑01:使用了pop()后,被弹出的元素就在列表中了

        

        技巧01可以使用pop()来删除列表中任何位置的元素

        

      》根据值删除元素

        只知道要删除的元素的值,可使 用方法remove()删除指定元素

        技巧01:remove()一次只能删除一个,如果一个列表中有多个值相同的元素,那么就必须要用循环来解决

        

        

  3.5 小练习02

    TODO:2018-3-23 09:53:27

    3.5.1 嘉宾名单

      需求:动态添加嘉宾名单,要求利用输入的形式

    3.5.2 修改嘉宾名单

      需求:要求利用手动输入形式

    3.5.3 添加嘉宾名单

      需求:要求利用手动输入的形式

    3.5.4 删除嘉宾名单

  3.6 列表排序

    3.6.1 永久排序

      使用方法 sort()对列表进行永久性排序

      

    3.6.2 临时排序

      使用函数 sorted()对列表进行临时排序

      

    3.6.3 倒序输出

      要反转列表元素的排列顺序,可使用方法reverse()

      

    3.6.4 确定列表长度

      使用函数len()可快速获悉列表的长度

      

  3.7 小练习03

    

    

  3.7 利用range产生数字列表

    详情请参见 range 相关的博文

  3.8 列表的使用

    3.8.1 切片

      如果要使用一个列表中连续几个元素的数据就需要用到切片

      技巧01:切片索引包含开始索引但是不包含结束索引

      技巧02:如果不指定开始索引,就会从第一个元素开始取值;如果不指定结束索引,就会去到列表的最后一个元素;如果前后索引都指定就会取到所有的列表元素

      技巧03:遍历得到的结果任然是一个列表

      

      

    3.8.2 复制列表

      技巧01:列表复制时直接使用全切片的方式即可

      

      根据 id 值可以看出 lis01 和 lis02 引用的是不同的对象,只不过这两个对象的值是相同的而已

      坑01:如果直接利用 = ,执行的就不是复制而是赋值,此时 lis01 和 lis02 的 id 值就相等了,这就说明 lis01 和 lis02 引用的是同一个对象

      

4 元组

  4.1 定义

    元组看起来就行列表,只不过用的是圆括号而不是方括号,同样可以使用索引进行取值;但是和列表不同的是元组中的元素不可以修改而列表中的元素可以进行修改

  4.2 创建元组对象

    4.2.1 利用 ()进行创建

      直接将数据放到()中利用逗号隔开就可以啦,例如

        

      坑01:利用()创建只有一个元素的元组时必须在后面加一个逗号,否则这个括号就会别看做是数学运算优先级的括号

        

    4.2.2 利用 tuple() 进行创建

      

5 字典

  5.1 字典的创建

    字典是通过key-value值进行存储数据的,其中key必须是不可变对象,而且一个自定汇总key值不能重复

    5.1.1 直接利用 { } 创建

      

  5.2 获取字典中的值

    可以像列表那样获取字典中的值,只不过列表是利用下标进行获取的而字典是利用key值进行获取的;字典也可以通过字典对象的get函数获取字典中的值

    技巧01:利用key值进行获取字典中的数据是,如果key值不在字典中就会报错;但是利用get进行获取时如果key值不存在就会默认返回None,当然get函数也可以自定义key值不存在时的返回结果

    

  5.3 向字典中添加值

    字典对象引用 [ 新增的key值 ] = key值对应的value值

      

    技巧01:如果要新增的key已经在字典对象引用中存在了,那么就会对key对应的value值进行更新,而不会进行新增操作,因为字典的key值必须是唯一的

      

6 集合

  集合类似于列表,但是集合中的内容是不能重复的,而且集合跟字典一样都是无序的,即使在创建或者新增元素时出现了重复值也不会生效,最终在集合中只能有一个

  6.1 创建集合

      

      

  6.2 添加删除元素

    6.2.1 添加元素

      利用集合对象的add函数可以向集合中添加元素

        

    6.2.2 删除元素

      利用集合对象的remove函数可以从集合中删除元素

      技巧01:如果需要删除的元素不在集合中就会报错

          

    

Python03 字符串类型、强制类型转化、列表、元组、字典、集合的更多相关文章

  1. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  2. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  3. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  5. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  6. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  7. python 中列表 元组 字典 集合的区别

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

  8. Python数据类型-布尔/数字/字符串/列表/元组/字典/集合

    代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...

  9. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  10. Day2 列表,元组,字典,集合

    一,列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. list=['alex', 'jack', 'chen', 'shaoye'] #创建一个列表. 特性: 1.可存 ...

随机推荐

  1. mac上完整卸载删除:android studio方案

    如果你是mac  ,你删除as ,删不干净也正常,你会发现安装的时候,前面的东西也在.配置文件在,会导致你以前的错误不想要的东西都在. 废话不多说,复制粘贴!!~~~~~~~~ 第一步: 复制粘贴!! ...

  2. PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。

    PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量 ...

  3. SQL Sever删除外键

    declare @sql varchar(max), @tab_name varchar(128), @fk_name varchar(128);declare c cursor forselect ...

  4. 面试题42:翻转单词顺序VS左旋转字符串

    题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理. 例如输入字符串“I am a student.",则输出"stud ...

  5. python-Django初体验

    1.搭建Django开发环境 2.创建工程与应用 CentOS6.5环境下 Python 2.6 ipython 1.2.1 Django 1.6.5 pip install -y django == ...

  6. VueJs路由跳转——vue-router的使用

    对于单页应用,官方提供了vue-router进行路由跳转的处理,本篇主要也是基于其官方文档写作而成. 安装 基于传统,我更喜欢采用npm包的形式进行安装. npm install vue-router ...

  7. 如何卸载Python通过setup.py安装的模块

    0,pip uninstall  xxxx     1.找到egg sudo easy_install -m BitVector .... Using /usr/local/lib/python2./ ...

  8. 在winform下实现左右布局多窗口界面的方法(一)

    在web页面上我们可以通过frameset,iframe嵌套框架很容易实现各种导航+内容的布局界面,而在winform.WPF中实现其实也很容易,通过本文给大家介绍在winform下实现左右布局多窗口 ...

  9. c++运行时决定数组大小 variable-length array

    本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4117431.html,转载请保留此声明 variable-length array是C99添加的一个特性 ...

  10. BZOJ4195:[NOI2015]程序自动分析

    浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php? ...