• Python初学笔记01---数据类型


      Python3六种标准的数据类型:Number(数字),String(字符串),List(列表),Tuple(元组),Sets(集合),Dictionary(字典)

    1 数字

    1.1:整型(int

      Python3没有限制整型大小,可以当Python2的long使用

      整数除法中,除法(/)计算结果是浮点数,即使可以整除也是如此,如果想要得到整数结果,丢弃小数部分,可以使用地板除(//)

    1.2浮点型(float)

      浮点型有整数部分和小数部分组成,亦可以使用科学计数法

    1.3复数(complex)

      复数由实部和虚部组成,可以用a+bj或complex(a,b)表示

    1.4数据类型转换

      int(x),把x转换成整数

      float(x),把x转换成浮点数

      complex(x),把x转换成一个复数,实部x,虚部0

      complex(x,y),把x和y转换成一个复数,实部x,虚部y

    1.5常量

      PI:数学常量π

      E:数学常量e

    1.6变量

      Python中变量没有明显的变量声明,类型不是固定的,随值而变:

      

    1.7 语句和表达式

      语句是Python解释器可以运行的一个代码单元,可以理解为可以执行的一个命令

      表达式是值、变量和操作符的组合

      语句会造成一些改变,如赋值语句会改变变量的值,表达式最终会变为一个值,不会造成某些改变

    1.8运算符和操作对象

      Python 7种操作符:算术操作符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员操作符、身份运算符

      1)算术操作符:

        +,-,*,/,%

        **:幂运算10**3输出1000

        //:取整除16//3输出5

      2)比较运算符:==、!=、>、<、>=、<=

      3)赋值运算符:=,+=,-=,*=,/=,%=,**=,//=

      4)位运算符:

        &,|,

        ^抑或:相同位相同为0,相反为1,

        ~取反,<<,>>

      5)逻辑运算符

      and,布尔与,如果x为False,x and y就返回False,否则返回y的计算值

      

      or,布尔或,如果x非0,x or y就返回x的值,否则返回y的值

      

      not,布尔非,如果x为True,not x返回False,如果x为False,返回True

      

      6)成员运算符

      in 如果在指定序列中找到值,返回True,否则返回false;not in 与in相反

      

      7)身份运算符

      is判断两个标识符是否引用自同一个对象,是返回True,不是返回False

      

    2 列表和元组

      Python6种基本数据结构:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象

    2.1 通用序列操作

      Python种所有序列可以进行一些特定的操作:索引(indexing),分片(slicing),序列相加(adding),乘法(multiplying)、成员资格、长度、最小值、最大值

    2.1.1索引

      Python序列索引自左向右为正由0起,自右向左为负由-1起:

      

      为什么自左向右不是-0起,原因在于数学上-0 = 0

    2.1.2分片

      Python可以使用分片从序列中获取指定部分片段:

      语法:arr[a:b:c],表示去取索引x满足a <= x < b范围内的元素,步幅为c,abc均可以省略

      

    2.1.3序列相加

      序列可以使用+链接起来,但是要类型一致(不是元素类型哦),加法生成新的序列,不改变原序列自身

      

    2.1.4乘法

      乘法可以把序列复制n遍生成新的序列

      

    2.1.5成员资格

      Python用in来检测元素是否在序列中出现,出现过返回True,否则返回False

      

    2.1.6长度、最大值、最小值

      

    2.2列表

    2.2.1更新列表

      1)添加元素:arr.append(obj)

      2)删除元素:del arr[index]  

      

      3)分片赋值

      分片赋值可以将列表的某一判断直接替换成另一个列表,不要求被替换掉的片段长度等于新加进来的列表的长度

      

    2.2.2列表方法

      1)arr.append(obj)将obj作为一个元素追加到arr队尾

      2)arr.count(obj)查询obj在arr中出现的次数

      3)arr.extend(seq)将列表seq追加到arr队尾,亦可以是seq的某一片段(如seq[:3])

      4)arr.index(obj)找出值obj在arr中第一次出现的索引

      5)arr.insert(index,obj)将obj插入到arr的index索引处

      6)arr.pop()移除并返回arr的最后一个元素,arr.pop(index)移除arr的index处的元素,两种移除会是arr长度减小的,不是空出位置哦

      7)arr.remove(obj)移除arr中第一个obj

      8)arr.reverse(),反转arr里面元素的顺序,是对arr的反转,不是返回一个新的列表

      9)arr.sort(),对arr进行默认排序

         arr.sort(func),按照指定函数给arr排序

         arr.sort(key=len,reverse=False),按照key对arr排序,reverse为是否反转

      10)arr.clear(),移除arr所有的元素

      11)arr.copy()复制arr并返回新的arr

        

    2.3元组

      Python的元组与列表相似,但元组的元素不可以修改

      创建元组的方法:

      

           

    2.3.1tuple函数

      tuple函数可以将列表转换为元组,也可以将字符串转换为元组,或返回传入的元组

      

    2.3.2tuple基本操作

      1)访问元组

      元组内的元素可以用index访问,元组可以进行分片操作

      

      2)修改元组

      元组内元素不可以修改,但是可以将两个元组进行连接操作

      

      元组不可以修改,但元组内元素的属性可以修改,故元组的不可变指的是元组内每一个元素的指向不可变

      

      3)删除元组

      元组内元素不可以删除,但是可以删除整个元组

      

    2.3.3元组内置函数

      1)len(tuple)获取元组长度

      2)max(tuple)、min(tuple)获取最大值最小值

      3)tuple(seq)将列表转换为元组

    3字符串

    3.1字符串格式化

    3.1.1使用占位符格式化字符串

      在字符串内预先设好占位符,在使用时替换

        

      语法解释:%左边是待格式化的字符串,右边是参数,参数可以直接是值,亦可以使用元组或字典,占位符替换时有类型检测

      常用占位符:

      %s:字符串

      %d:整数

      %f:浮点数

      有些时候%要特殊处理输出%:

       

      格式化浮点数占位符中可以添加字符串宽度和小数位数,格式%a.bf,a为宽度,b为小数位,如果a大于真实宽度,左边以空格补上,用精度b时左边‘.’必须要有,a和b可以用*代替然后在元组中读取

      

      符合、对齐和填充:

      

      如上,输出结果中数字前多了一堆0,称之为标表。在这段宽度之前放置一个标表,可以是0、加号、减号、空格

      0表示用0填充,减号(-)表示左对齐,空格表示数值前用空格填充,加号(+)表示无论正数还是负数都展示出符号:

      

     3.2字符串方法

      1)str.find(sbustr,beg,end),从字符串str的beg到end索引位置查找子串sbustr,有就返回第一个索引位置,没有返回-1,

      

      2)mark.join(sequence),使用mark链接字符串序列sequence,生成一个字符串

      

      2)upper()所有小写变大写,lower()所有大写变小写,swapcase()大小写互换,均返回新字符串不改变原字符串

      

      3)str.replace(old,new,time),将str中的old子串替换成new子串,最多替换time处,time可以省略,返回新字符串,不改变原字符串

      

      4)str.split(sbstr,num),将字符串str以sbstr进行分割成列表,最多分num次(生成num+1长度列表),sbstr可以没有,默认为空格,num可以不带

      

      5)translate(table)方法,根据table替换字符,table中有两个长度对应的字符串

      

      替换逻辑如下: 

     

     4字典

       字典是Python唯一内建的映射类型,字典指定值没有特定的顺序,都存在键key里,键可以是数字、字符串、或元组

      创建字典:d = {key1:value1,key2:value2...}

      字典中键是唯一的,值不必唯一,键必须是不可变的,如字符串、数字、元组

      dict函数可以将其他映射或键值序列创建为字典:

      

      修改字典:dic[key] = value;

      删除字典某个key与对应值: del dic[key]

      删除整个字典: del dic

      获取字典长度:len(dic)

      dict和list的区别:

      dict:1)插入和查找速度极快,不会因为key的增多而变慢;2)需要占用大量内存,内存浪费多

      list:1)查找和插入随元素的增多而变慢;2)浪费内存很少

    4.1字典方法

      1)dict.clear()清除所有元素

      2)dict.copy()浅复制

      3)dict.fromkeys(seq[,value),以序列seq作为键创建一个新的序列,value作为所有键的初始值

      4)dict.get(key[,default]),根据键获取值,没有返回default值

      5)key in dict,查找dict是否有键key,有返回true

      6)dict.items()返回(键,值)元组数组

      7)dict.keys()返回所有键

      8)dict.setdefault(key,default)返回key对应的值,如果没有,则将default设置为key的值

      9)dict1.update(dict2)将dict2中的键值对更新到dict1中

      10)dict.values()以列表的形式返回所有的值

       

      

      

      

     

      

      

      

      

      

      

  • 相关阅读:
    python中的一些小知识
    软件工程第一次作业(2)
    CountDownLatch的理解和使用
    架构设计:系统间通信(1)概述从“聊天”开始上篇
    Asp默认的上传文件大小限制是200K
    当多个sqlserver服务存在时,需要完全限定的serverName 方可登陆
    关于Entity Framework 版本的疑惑
    mvc scaffolding
    sql 语句中的 NULL值
    如何从数据库生成 EF Code First model
  • 原文地址:https://www.cnblogs.com/ShouWangYiXin/p/10504820.html
Copyright © 2020-2023  润新知