zoukankan      html  css  js  c++  java
  • Python基础 1数值类型 序列类型

    1.1数值类型

    1.常用运算符:

      +  -  *  /  %(取余)   //(取整数)  **(次方)

    2.整数与小数的运算 返回float

    3.decimal的运算 更精确一些

    4.布尔型的计算 True False

    5.复数演示

    6.了解math模块 import math

    7.Decimal

    1     from decimal import Decimal
    2     Decimal(10)/Decimal(3)
    3     Decimal('10.5')/Decimal(3)
    4     print(type())
     

    1.2序列类型(列表,元组)

    1.2.1列表list (可以被更改) 可嵌套

     1     a=[ 1,2,3,4,5,6,7,8,9,20.0,30.0,(100,200,300),[400,500,600]]
     2     print(a[2])
     3     print(a[2:3])           #取左不取右    右边不写则是取到最右边
     4     print(a[0:20:2])        #步长
     5     print(a[-1])
     6     ###########              #切片取出的是列表
     7     print(a[2:3][0])         #取出的是字符串
     8     ###########
     9     
    10     b1='20180910'
    11     print ('year=',(b1[0:4]))
    12     print ('month=',(b1[4:6]))
    13     print ("day=",(b1[6:]))

     

    1.2.2元组tuple (不可以被更改)元组和列表取值是差不多的

    a=(100,200,300)    

    b = list(a)       元组转成列表

    1.3列表方法

    • 增:

      append 到最后的位置 insert 插入到某个位置 extend 扩展 两个列表融合到一个列表

    • 删:

      pop 通过索引删除 remove 通过内容删除 删除出现的第一个 clear 清空整个列表

    • 改:

      li[0] = ' list '

    • 查:

      index 查找内容的索引 出现的第一个 count 查找元素个数

    • 其他方法:

      copy 浅复制 reverse 列表反转 sort 排序

     1     my_list = ['Tom','Wang','du']
     2     my_list.append( 'hahahaha')
     3     my_list.insert(1,'hansha')
     4     my_list2=[15,20]
     5     my_list.extend(my_list,my_list2)
     6     my_list.pop(2)
     7     my_list.remove('Tom')
     8     my_list[1]='wangyangyang'
     9     print(my_list.index('du'))
    10     print(my_list.count('du'))
    11     
    12     my_list3=my_list.copy()
    13     my_list.reverse()
    14     my_list.sort()
     

    1.4元组方法

    • 查:

      index 查找内容的索引 出现的第一个 count 查找元素个数

    • 元组间接变化:

    
    
    1     tuple_a=(1,2,3,'ahsd',555)
    2     
    3     list_a=list(tuple_a)
    4     list_a.append( 'hahahaha')
    5     tuple_a=tuple(list_a)

    1.5字符串方法 (可以索引 可以切片)

    • count 计算某元素出现的次数 find 查找内容的索引 出现的第一个 找不到不会报错 index 查找内容的索引 出现的第一个 找不到报错 isdigit 是否只有数字 isalpha 是否只有英文 endswith 是否以。。结尾 startswith 是否以。。开头 islower 是否是小写 isupper 是否是大写

    • 改 (生成一个新的字符串)

      upper 变成大写 lower 变成小写 strip (lstrip,rstrip) 去除字符串左右两边字符 capitalize title split 根据某个条件分割

    • replace 替换

    • 字符串拼接

      1     my_str='asdada fjh afjk ahk jfhaf ha h'
      2     new_str=my_str.strip()
      3     new_str=my_str.split('/')
      4     new_str=my_str.replace('asd','666')
    • 字符串常用方法:

      

     1 a="abcABC"
     2 #公共方法len(a),type(a)
     3 a.capitalize() #首字母大写
     4 a.upper() #转换大写
     5 a.lower() #转换小写
     6 a.swapcase() #大小写转换
     7 a.casefold() #转换小写
     8  
     9 a.title() #转换成标题      
    10 a.center(20,"*"#设置宽度,并居中,20为总长度,*为空白处填充
    11 a.ljust(20,"*") #左边
    12 a.rjust(20,"*")  #右边
    13 a.zfill(20) #默认使用0填充,长度20
    14 a.expandtabs() #补tab键     
    15 a.count("xx",star,end) #计数出现次数,star开始位置,end结束位置
    16               
    17  a.strip()  #去全部空格、换行
    18  a.lstrip("xx") #去除左边 xx
    19  a.lstrip() #去左边空格
    20  a.rstrip()  #去右边空格
    21  
    22 a.partition("s") #字符串按照第一个s进行分割,分三份 (包含分割元素s)
    23 a.split("s")   #a.split("s",2)  按照s进行分割 ,2为分割次数 (不包含分割元素s)
    24 a.splitlens()  #按换行符分割
    25        
    26 a.find("ex",start=None, end=None) #找到第一个对应字符串的索引,默认是找整体,也可单独指定判断位置 (找不到返回-1)
    27 (a.index()与find相同,但找不到报错 )
    28  
    29 a.endswith("x") #以判断x结尾
    30 a.startswith("x",start=None, end=None)#判断以x开头,默认是找整体,也可单独指定判断位置
    31 a.isalnum() #判断字符串中包含数字或字符
    32 a.isalpha()#判断是否是字符
    33 a.isdeciml() #判断是否是数字 (10进制数字)
    34 a.isdigit()#判断是否是数字,支持特殊形式
    35 a.isdentifier() #判断字母、数字、下划线
    36 a.islower()#判断是否小写   
    37 a.isupper()#判断是否是大写
    38 a.isnumeric()#判断是否是数字 支持特殊字符(中文)
    39 a.isprintable() #判断是否包含不可显示的字符如:	 
    
    40 a.isspace()  #判断是否全部 是空格
    41 a.istitle()  #判断是否是标题
    42  
    43 a.replace("xx","oo")  #xx替换oo    
    44 a.join(xxx) #字符串拼接,a作为拼接符,重新拼接xxx  (" ".join(xx)   "xx".join(dd))
    45 a.format(name="xxxx") #替换name
    46 a.format_map 
    47  
    48 a.encode()   #编码 str转换bytes
    49 a.decode()   #解码 获得字符串类型对象 

    1.6字符串转义

    字符前面加上 ,字符就不再表示字符本身的意思,表示ASCII码中 不能显示字符,常见有下:

    
      换行

    水平制表符

     退格

    回车,当前位置移到本行开头

    \ 代表反斜杠

    代表一个单引号,同样的 “   等符号也可以这么输出

    代表一个空字符

    a 系统提示音

    在python中如果要去掉字符串的转义,只需要在字符串前面加上 r

    r'abc	abc'

    1.7字符串编码


    1     my_str=r'东西'
    2     a=my_str.encode('utf-8')   转成2进制数据
    3     b=a.decode('utf-8')        2进制转成字符串
     

    1.7字符串拼接

    1.使用 +

    str1 + str2 + str3

    2.格式化字符串

    ' %s %s %s ' %(str1,str2,str3)

    3.使用join

    ’字符’.join([str1, str2, str3])

    4.使用 format

    ' {} {} {} '.format(obj1,obj2,obj3)

    ' {0} {1} {2} '.format(obj1,obj2,obj3)

    ' {1} {0} {2} '.format(obj1,obj2,obj3)

    ' {n0} {n1} {n2} '.format(n1=obj1,n0=obj2,n2=obj3)
     1     my_str='南北老师hello我是杜育非'
     2     a=my_str[0:4]
     3     b=my_str[4:9]
     4     c=my_str[9:]
     5     print(b+','+a+','+c+'.')
     6     str_1='%s,%s,%s,'%(b,a,c)
     7     print(str_1)
     8     str_2=(','.join([b,a,c]))+'.'
     9     print(str_2)
    10     str_3='{},{},{}.'
    11     print(str_3.format(b,a,c))

    1.8字符串格式化

    1.8.1 . %s %d %f 等等

    • 了解:

      %d %数字 %f %浮点数 %c %ASCII字符 %o %8进制 %x %16进制 %e %科学计数法

      ' %-6.3f ' % 10.3 左对齐 ' %+6.3f' % 10.3 显示正 ' %5s ' % 'ab' 格式化长度 可用来对齐

    • 掌握:

      print(‘%s’ %’123’) 字符串拼接 print(‘%r’ %’123’) 原始话输出

    1.8.2 .format 

     1 '{:.2f}'.format(12.333)         #保留小数点后两位
     2 '{a:.2f}'.format(a=12.333)
     3  4 '{:.2%}'.format(0.333)          #百分比格式
     5  6 '{:x}'.format(20)               #转换成十六进制
     7  8 '{:o}'.format(20)               #转换成八进制     
     9                                 #进制转换的时候用{0:进制}
    10 ' {a:<10}’.format(a=12.3,b=13.44)     #左对齐,长度为10
    11 ' {a:0<10}'.format(a=12.3,b=13.44)    #数字补x (填充右边, 宽度为4)
    12 ' {a:0>10}’.format(a=12.3,b=13.44)    #右对齐...
    13 ' {a:0^10}'.format(a=12.3,b=13.44)    #两边对齐...
    14 15 '{{  hello {0}  }}'.format('python’)  #转义{和}符号
    16 17 '  name='a du ,data='18'  
    18     print(f'hello,{name},i am {data}')  '

     

    1.9 深浅复制

    1.浅复制


    1     a=[1,2,3,4]
    2     b=a.copy
    3     a[0]=100
    4     
    5     print(a)
    6     print(b)
    7     
    8     print(id(a))
    9     print(id(b))

    2.深复制

     1     import copy
     2     my_list=[1,2,[3,4]]
     3     a=my_list
     4     b=copy.deepcopy(my_list)
     5     my_list[2][0]=100
     6     print(my_list)
     7     print(a)
     8     print(b)
     9     print(id(my_list))
    10     print(id(a))
    11     print(id(b))
    12

    3. 数据类型总结:

      3.1、数字:不可变,直接访问

      3.2、字符串:不可变,顺序访问

      3.3、列表:可变、有序、顺序访问

      3.4、字典:可变、无序、key值访问

      3.5、元组:不可变、有序、顺序访问

      3.6、布尔值:不可变

      3.7、集合:无序、不重复



     

  • 相关阅读:
    微软一站式技术框架(AllInOne Code Framework(AIO)) 登陆 MSDN中国首页
    The stepbystep guide of making a C# (or VB.NET) Windows 7 Trigger Start Service
    AllInOne Code Framework: 微软一站式开发技术框架 示例命名规则和目录结构说明
    Windows 7 新特性 Shell Library 编程接口介绍
    一步一步教你如何编写VC#,VB.NET或VC++代码玩转Windows Shell Known Folders
    微软一站式开发技术框架解决方案 年内展望
    AllInOne Code Framework: 微软一站式开发技术框架解决方案 2009730 新增sample code简介
    AllInOne Code Framework: 微软一站式开发技术框架 2009917 新增代码示例简介
    AllInOne Code Framework: 微软一站式开发技术框架解决方案 2009826 新增sample code简介
    微软 AllInOne Code Framework (AIO) 客户端应用程序 期待您的见解
  • 原文地址:https://www.cnblogs.com/dyf25288-/p/11674998.html
Copyright © 2011-2022 走看看