• 【21天python打卡】第5天 基础语法(3)


    ​​​​​大家好,今天是21天python打卡的第5天,上一篇python的顺序语句结构,条件和分支语句以及循环语句。今天我们继续讲解python基础语法,关于数据类型和字符串类型表示以及操作(索引和切片),最后我们简单举例部分函数的说明。



    活动地址:CSDN21天学习挑战赛

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。


    目录

    数据类型

    数字类型

    字符串类型

    字符串表示

    单引号、双引号

    三重引号

    转义字符

    raw字符串

    字符串操作

    索引和分片

    列表list

    初始化列表

    访问列表

    列表操作

    列表函数

    元组tuple

    元组初始化

    元组函数

    命名元组

    字典dict

    集合set

    内置函数


    数据类型

    python的数据类型分为基本数据类型复合数据类型

    基本数据类型包含:数字,字符串
    复合数据类型包含:列表,元组,字典,集合

    数字类型

    和其他编程语言相比,Python语言中的变量不需要显示数据类型的声明,Python的变量类型是根据变量的赋值内容而自动生成的。
    Python 六大数据类型:

    1. 数字: 包含int(整型)、long(长整型,但python3中已经没有了,python3中只有int)、complex(复数)、float(浮点型)、bool(布尔型)
    2. 字符串(String): 比如:“hello world”,“python”
    3. 列表(List): 比如:[1,2,3,4],[’a‘,‘b’,‘c’,‘d’]
    4. 字典(Dictionary):例如:{“name”:“poge”,“age”:30}
    5. 元组(Tuple): 例如:(1,‘hello’,3)
    6. 集合(Set):例如:{’a‘,’b‘,’c‘,’d‘}

    以上是Python最基本的6种数据类型

    数字类型:
    表示数字数值的数据类型称为数字类型

    数字类型有哪些?

    1. 整型(int)
    2. 浮点型(float)
    3. 复数类型(complex)
    4. 布尔类型(bool)

    tips:Python中使用type()函数可以查看变量的类型

    字符串类型

    字符串表示

    在python语言中,字符串的表示有以下三种:

    • 单引号 ’
    • 双引号 "
    • 三重引号 “”"

    单引号、双引号

    在Python语言中,使用单引号(’ ')和双引号(" ")表示字符串是最常见的两种方式。

    两种方式表示的字符串是等价的,且返回相同类型的对象。

    单引号和双引号表示字符串没有本质的区别,可以在一种引号中嵌套另一种引号。

    单引号和双引号表示的字符串是等价的,要配对出现,不能混用。否则将引发语法错误。

    三重引号

    三重引号可以是三个单引号,也可以是三个双引号。这种方式表示的字符串也叫做块字符串

    三重引号是以三个同一种类型的引号开始,并以三个相同引号结束的字符串表示方式。

    转义字符

    Python语言使用反斜杠()表示转义字符。

    转义字符是为了对其后紧接的字符进行转义,屏蔽其特殊含义,并将其作为普通字符来输出。

    raw字符串

    raw字符串的格式是r’…’。

    在raw字符串中,所有的字符都是直接按照字面意思来解释,没有转义字符或者不能打印的字符。

    字符串操作

    Python语言中包含字符串的以下几个基本操作:

    • 字符串的索引
    • 字符串的分片
    • 字符串的合并
    • 重复字符串
    • 其他操作

    索引和分片

    1. 索引
      在Python语言中,字符串是一个有序字符的集合
      在一个字符串被创建之后,其中字符的相对位置就固定了。

      第一个字符的索引编号定义为0,第二个字符索引编号为1,以此类推。在Python语言中,对字符串可以进行正向索引和反向索引。

      下表直观表示了字符串中字符和其索引编号的对应关系:
      在这里插入图片描述
      上表中,中间行表示的是字符串中的每个字符内容,上面行表示该字符串正向索引时的索引编号,下面行表示该字符串反向索引时的索引编号。

      索引是对单个元素进行的操作,Python语言中字符串的索引是通过元素下标进行索引的。

    2.  切片
      使用Python语言的分片(slice)操作,来提取字符串中的子序列。

    列表list

    初始化列表

    指定元素初始化列表

    1. >>> num=['aa','bb','cc',1,2,3]
    2. >>> print num
    3. ['aa', 'bb', 'cc', 1, 2, 3]

    从字符串初始化列表

    1. >>> a='oiawoidhoawd97192048f'
    2. >>> num=list(a)
    3. >>> print num
    4. ['o', 'i', 'a', 'w', 'o', 'i', 'd', 'h', 'o', 'a', 'w', 'd', '9', '7', '1', '9', '2', '0', '4', '8', 'f']

    从元组初始化列表

    1. >>> a=(1,2,3,4,5,6,7,8)
    2. >>> num=list(a)
    3. >>> print num

    创建一个空列表

    1. >>> num=[]
    2. >>> print num
    3. []

    用某个固定值初始化列表

    1. >>> initial_value=0
    2. >>> list_length=5
    3. >>> sample_list=[initial_value]*list_length
    4. >>> print sample_list
    5. [0, 0, 0, 0, 0]
    6. >>> sample_list=[initial_value for i in range(10)]
    7. >>> print sample_list
    8. [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    访问列表

    访问单个元素

    1. >>> num=[0,1,2,3,4,5,6,7]
    2. >>> num[3]
    3. 3
    4. >>> num=[0,1,2,3,4,5,6,7]
    5. >>> num[0]
    6. 0
    7. >>> num[-1]
    8. 7
    9. >>> num[-3]
    10. 5

    遍历整个列表

    1. num=[0,1,2,3,4,5,6,7]
    2. for a in num:
    3. print a,
    4. for i in range(len(num)):
    5. print num[i],

    输出结果:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

    列表操作

    更新列表

    1. >>> num=[0,1,2,3,4,5,6,7]
    2. >>> num[1]='abc'
    3. >>> print num
    4. [0, 'abc', 2, 3, 4, 5, 6, 7]

    删除列表元素

    1. num=[0,1,2,3,4,5,6,7]
    2. for i in range(len(num)):
    3. print num[i],
    4. del num[2]
    5. print num

    输出结果:0 1 2 3 4 5 6 7 [0, 1, 3, 4, 5, 6, 7]

    列表操作符+*

    列表对+和的操作符与字符串相似。+号用于组合列表,号用于重复列表。

    以下为+操作符

    1. >>> a=['a','b','c']
    2. >>> b=['d','e','f']
    3. >>> c=a+b
    4. >>> print c
    5. ['a', 'b', 'c', 'd', 'e', 'f']

    以下为*操作符

    1. >>> a=['a','b','c']
    2. >>> c=a*4
    3. >>> print c
    4. ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

    列表函数

    以下是列表相关函数的分类

    列表分类

    元组tuple

    Python的元组与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];元组创建很简单,只需要在括号中添加元素,并使用逗号(,)隔开即可。

    元组初始化

    1. >>> t = (1, 2, 3)
    2. >>> print(t)
    3. (0, 1, 2)
    4. >>> t = tuple(range(3))
    5. >>> print(t)
    6. (0, 1, 2)

    元组函数

    关于tuple相关的函数可以使用help命令获得。

    help(tuple)
    1. Help on class tuple in module builtins:
    2. class tuple(object)
    3. | tuple() -> empty tuple
    4. | tuple(iterable) -> tuple initialized from iterable's items
    5. |
    6. | If the argument is a tuple, the return value is the same object.
    7. |
    8. | Methods defined here:
    9. |
    10. | count(...)
    11. | T.count(value) -> integer -- return number of occurrences of value
    12. |
    13. | index(...)
    14. | T.index(value, [start, [stop]]) -> integer -- return first index of value.
    15. | Raises ValueError if the value is not present.

    list和index方法的使用和list一模一样。

    命名元组

    Python有一个类似tuple的容器namedtuples(命名元组),位于collection模块中。namedtuple是继承自tuple的子类,可创建一个和tuple类似的对象,而且对象拥有可访问的属性。

    在c/c++中,对应的数据类型是结构体struct。

    1. struct Point//声明一个结构体类型Point,代表一个点
    2. {
    3. int x; //包括一个整型变量x
    4. int y; //包括一个整型变量y
    5. }; //最后有一个分号

    这样就声明了一个新的结构体类型Point,有了类型就可以定义结构体的变量了。

    Point p1,p2;

    在c/c++中结构体的最大作用在于组织数据,也就是对数据的封装(可以把结构体理解为特殊的类)。在python中起相同作用的就是命名元组了。命名元祖的具体使用如下

    1. >>> from collections import namedtuple #依赖collections包的namedtuple模块
    2. >>> Point = namedtuple('Point', 'x,y')
    3. >>> p1 = Point(11, y=22)
    4. >>> p1
    5. Point(x=11, y=22)
    6. >>> type(p1)
    7. __main__.Point
    8. >>> p1.x
    9. 11
    10. >>> p1.y
    11. 22
    12. >>> p1[0] + p1[1]
    13. 33
    14. >>> a, b = p1
    15. >>> a, b
    16. (11, 22)

    命名元祖的具体使用可以参见:namedtuple()以及python 命名元组

    字典dict

    字典相关的所有内容如下

    字典小结

    字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

    每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

    集合set

    集合相关的所有内容如下

    集合小结

    内置函数

    一、数学相关

    abs(a) : 求取绝对值。abs(-1)  
    max(list) : 求取list最大值。max([1,2,3])
    min(list) : 求取list最小值。min([1,2,3]) 
    sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6
    sorted(list) : 排序,返回排序后的list。
    len(list) : list长度,len([1,2,3])
    divmod(a,b): 获取商和余数。 divmod(5,2) >>> (2,1)
    pow(a,b) : 获取乘方数。pow(2,3) >>> 8
    round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) >>> 3.14
    range(a[,b]) : 生成一个a到b的数组,左闭右开。 range(1,10) >>> [1,2,3,4,5,6,7,8,9]
     

    二、类型转换

    int(str) : 转换为int型。int('1') >>> 1
    float(int/str) : 将int型或字符型转换为浮点型。float('1') >>> 1.0
    str(int) : 转换为字符型。str(1) >>> '1'
    bool(int) : 转换为布尔类型。 str(0) >>> False str(None) >>> False
    bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') >>> b'abc' bytes(u'爬虫', 'utf-8') >>> b'\xe7\x88\xac\xe8\x99\xab'
    list(iterable) : 转换为list。 list((1,2,3)) >>> [1,2,3]
    iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) >>>
    dict(iterable) : 转换为dict。 dict([('a', 1), ('b', 2), ('c', 3)]) >>> {'a':1, 'b':2, 'c':3}
    enumerate(iterable) : 返回一个枚举对象。
    tuple(iterable) : 转换为tuple。 tuple([1,2,3]) >>>(1,2,3)
    set(iterable) : 转换为set。 set([1,4,2,4,3,5]) >>> {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) >>> {1,2,3}
    hex(int) : 转换为16进制。hex(1024) >>> '0x400'
    oct(int) : 转换为8进制。 oct(1024) >>> '0o2000'
    bin(int) : 转换为2进制。 bin(1024) >>> '0b10000000000'
    chr(int) : 转换数字为相应ASCI码字符。 chr(65) >>> 'A'
    ord(str) : 转换ASCI字符为相应的数字。 ord('A') >>> 65
     

    三、功能相关

    eval() : 执行一个表达式,或字符串作为运算。 eval('1+1') >>> 2
    exec() : 执行python语句。 exec('print("Python")') >>> Python
    filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>>
    map(func, *iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) >>> [6,8,10]
    zip(*iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) >>> [(1, 4), (2, 5), (3, 6)]
    type():返回一个对象的类型。
    id(): 返回一个对象的唯一标识值。
    hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') >>> 7070808359261009780
    help():调用系统内置的帮助系统。
    isinstance():判断一个对象是否为该类的一个实例。
    issubclass():判断一个类是否为另一个类的子类。
    globals() : 返回当前全局变量的字典。
    next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
    reversed(sequence) : 生成一个反转序列的迭代器。 reversed('abc') >>> ['c','b','a']
     


    今天就分享到这里,下一篇我们介绍面向对象。

  • 相关阅读:
    监控直流防雷浪涌保护器综合方案
    docker使用
    StringBuilder常用方法及与String的区别和联系
    上半年绩效差,「营销分析报告」无从下手,这套模板领导一看就懂
    实验三 图像分割实验
    GICI-LIB源码阅读(二)主要的类和程序执行流程
    用正则表达式简单解析JSON字符串
    自媒体二号大前端主题模板 WordPress主题
    python文件操作、文件操作、读写文件、写模式
    java运算符
  • 原文地址:https://blog.csdn.net/BROKEN__Y/article/details/126183764