zoukankan      html  css  js  c++  java
  • Python 模块,数据类型,元组

    模块

    Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。

    sys

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    import sys
    print(sys.argv)
    
    #输出
    $ python test.py hello world
    ["test.py","hello","world"]   #把执行脚本时传递的参数获取到了
    

    os

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import os
    os.system("df -h") #调用系统命令
    

    结合起来

    import os,sys
    
    os.system(''.join(sys.argv[1:]))  #把用户的输入的参数当作一条命令交给os.system来执行
    

      

    数据类型初识

    1.数字

      2 是一个整数的例子。
      长整数 不过是大一些的整数。
      3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
      (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

    int(整型)

      在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
      在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    long(长整型)
      跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
      注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    float(浮点型)
      浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
    complex(复数)
      复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
    注:Python中存在小数字池:-5 ~ 257
     
    2.布尔值
      真或假
      1 或 0
     
    3.字符串

      "Hello world"

    字符串格式化输出

    name = "King golden horn"
    
    print("I am %s" % name)
    
    #输出 I am King golden horn

    4.列表

    创建列表

    1 name = ["a","b","c","d","a","f"]
    2 3 name = list(["a","b","c","d","a","f"])
    4 name2 = ["1","2","3","4"]

    增删改查

     1 name.append("g")  #从最后面插入
     2 name.insert(1,"h")  #选择插入的位置,1代表下标
     3 name.pop(3)       #删除d pop是默认删除最后一个
     4 name.remove("a")  #删除
     5 del name[1]     #删除
     6 
     7 name[0] = 'i'  #修改,把a改成i
     8 print(name[name.index("b")]) #查找b
     9 print(name.count("a")) #统计有多少个a
    10 
    11 name.clear()
    12 print(name) #清空
    13 name.reverse()
    14 print(name)  #反转
    15 name.sort
    16 print(name)  #排序 特殊符号-->数字-->大写字母-->小写字母
    17 name.extend(name2) 
    18 print(name)#合并 结果是 ['a', 'b', 'c', 'd', 'e', 'f', '1', '2', '3', '4']
    19 
    20 name3 = name.copy() #浅复制 只复制列表的第一层
    21 import copy    #引入模块
    22 name = copy.deepcopy #深复制 完全复制一份

    切片取

    print(name[1])     #这就把b取出来了,因为b的下标是1,所以 name[1]  写1
    print(name[0:2])   #切片  #这就把a,b取出来了,2 的下标是c,因为不包括2所以把a,b取出来了 
    print(name[-1])   #这就把f取出来了,因为 -1 代表最后一个
    print(name[:2])    #name[:2]=name[0:2]  如果前面是0可以省略
    print(name[0:-1:2]) #隔一个取一个值
    

    元组

    元组跟列表差不多,也是存一组数据,只不过他一单创建,便不能在修改,所以又叫做只读列表

    语法:

     1 name = ("a","b","c") 

      

     字符串常用操作

    name = "my 	name is {name} and i am {year} old"
    print(name.capitalize())    #输出>>>Alex    #首字母大写
    print(name.count("a"))      #输出>>>2       #统计有几个a
    print(name.center(50,"-"))             #打印50个字符如果不够用-补齐把列表放中间
    print(name.endswith("ex"))  #输出>>>True    #以什么结尾
    print(name.expandtabs(tabsize=30))        #吧tab键换成30个空格
    print(name.find("y"))       #输出>>>1       #查找y的下标
    print(name.format(name="alex",year=100))
    print(name.format_map({"name":"alex","year":11111}))
    print(name.isalnum())            #判断是不是阿拉伯数字加阿拉伯字符
    print(name.isblpha())            #判断是不是纯英文字符
    print(name.isdecimal())          #判断是不是十进制
    print(name.isdigit())            #判断是不是一个整数
    print(name.isidentifier())       #判断是不是一个合法的标识符
    print('ab'.islower())            #判断是不是小写
    print('33'.isnumeric())          #是不是只有数字在里面
    print(' '.isspace())             #判断是不是空格
    print('My Name Is'.istitle())    #判断首字母是不是大写
    print('My Name Is'.isprintable())#tty file,drive file
    print('My Name Is'.isupper())    #判断是不是全是大写
    print('+'.join(['1','2','3']))   #输出>>>1+2+3
    print(name.just(50,'*'))        #保证长度50,不够的用*在后面补齐
    print(name.rjust(50,'-'))        #保证长度50,不够的用-在前面面补齐
    print('Alex'.lower())            #把大写变成小写
    print('Alex'.upper())            #把小写变大写
    print('alex'.lstrip())            #lstrip去掉左边的空格回车 strip去掉两边的空格回车
    print('alex'.rstrip())            #rstrip去掉右边的空格回车
    p = str.maketrans('abcdef','123456') #2.2版本
    print('alex li'.translate(p))  #输出>>> 115 li
    print('alex li'.replace('l','L',1)) #把l替换成大写 1是只替换一个
    print('alex'.rfind('e'))          #从左往走找到最右边的值返回下标
    print('alex li'.split())         #按照空格分成列表 输出>>> ['alex','li']
    print('1+2
    3+4'.splitlines())   #按换行来分
    print('Alex Li'.swapcase())      #大写换下写,小写换大写
    print('lex li'.title)  #输出>>>Lex Li
    print('lex li'.zfill(50))        #不够的用0填充
    print('alex'.strip())            #strip去掉两边的空格回车
    print(name.startswith("name",4,8))    #判断是否以字符串 "my" 开头,返回 True或False ,在第4个开始,第8个结束
    print(name.endswith("old"))           #判断是否以字符串 "old" 结尾,返回 True或False ,在第4个开始,第8个结束

    字典

    字典一种key-value的数据类型,使用就像我们上学用的字典,通过笔画,字母来查找对应页的详细内容。
    语法:
    1 info= {
    2     'sut1':'1',
    3     'sut2':'2',
    4     'sut3':'3',
    5 }
    字典的特性:
    dict 是无序的
    key 必须是唯一的,so天生去重
     1 print(info.get('sut1')) #查找
     2 print(info['sut1'])  输出>>>1
     3 info['sut1'] = '11'     #修改
     4 info['sut4'] = '11'     #如果存在就修改,不存在就创建
     5 print(info)
     6 #del
     7 del info['sut1']
     8 info.pop('sut1')
     9 info.popitem()          #随机删
    10 print(info)
    11 
    12 print('sut2' in info)   #判断sut2在不在info里
    13 
    14 
    15 info.value              #打印所有值
    16 info.key                #打印说有key
    17 
    18 info['大陆']['1024'][1] = 'abcde'
    19 info.setdefault('大陆',{'www.baidu.com':[1,2]})
    20 #去字典里取大陆这个值,如果能取到返回和这个值,如果取不到就创建一个新的
    21 
    22 info.items              #items把字典改成列表
    23 c = info.fromkeys([6,7,8],'test')  #创建一个字典
  • 相关阅读:
    笔记44 Hibernate快速入门(一)
    tomcat 启用https协议
    笔记43 Spring Security简介
    笔记43 Spring Web Flow——订购披萨应用详解
    笔记42 Spring Web Flow——Demo(2)
    笔记41 Spring Web Flow——Demo
    Perfect Squares
    Factorial Trailing Zeroes
    Excel Sheet Column Title
    Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/smile1/p/5723181.html
Copyright © 2011-2022 走看看