zoukankan      html  css  js  c++  java
  • Python 学习---------Day2

    第四章 介绍Python对象类型
    为什么使用内置类型
    内置对象使程序更容易编写
    内置对象是拓展的组件
    内置对象往往比定制的数据结构更有效率
    内置对象是语言标准的一部分
    Python的核心数据类型
    数字
    字符串
    列表
    字典
    元组
    文件
    其他类型(集合,类型,None,布尔型)
    数字
    import math
    math.pi
    math.sqrt(54)
    import random
    random.random()
    random.choice([1,2,3,4])
    字符串
    序列操作
    s='spam'
    len(s)
    s[0]
    s[1]
    s[len(s)-1]== s[-1]
    s[-2]
    s[1:3] #分片操作
    s[:-1]
    s[:] #就是s
    s+'xyz' #字符串支持加号合并,将连个字符串合成一个新的字符串
    s*8
    字符串具有不可变性---在其创建后值不能改变,例如,你不能通过对其某一为之进
    行赋值而改变字符串,但是你总是可以通过建立一个新的字符串以同一个变量名进行对其赋

    类型特定的方法
    s.find('pa') #函数返回传入子字符串的偏移量,没有找到的情况下返回-1
    s.replace('pa','xyz') #搜索并进行替换
    line='aaa,bbb,ccccc,dd'
    line.split(',')
    s='spam'
    s.upper() #大写
    s.isalpha() #判断是不是字母
    line=line.restrip() #去除换行符
    dir(S) 可以查找对象的所有属性
    ord('a') 返回a的ascii码
    Python允许字符串包括在单引号或者双引号中,它也能够在三引号中表示多行字符串的
    形式
    模式匹配
    import re
    match=re.match('Hellp[ ]*.(.*)world','Hello Python world')
    match.group(1)

    match=re.match('/(.*)/(.*)/(.*)','/usr/home/lqs')
    match.groups()
    列表 是一个任意类型的对象的位置相关的有序集合,它没有固定的大小,不想字符串,其
    大小是可变
    L=[123,'spam',1.23]
    len(L)
    L[0]
    L[:-1]
    L+[4,5,6] #创建了一个新的列表
    L #不变
    L.append('NI')
    L.pop(2)
    M=['bb','aa','cc']
    M.sort()
    M.reverse()
    边界检查 Python不允许引用不存在的元素
    嵌套
    M=[[1,2,3],
    [4,5,6],
    [7,8,9]]
    列表解析
    col2=[row[1] for fow in M]
    [row[1] for row im M if row[1]%2==0]
    diag=[M[i][i] for i in [0,1,2]]
    doubles=[c*2 for c in 'spam']
    字典
    D={'food':'spam','qian':4,'color':'pink'}
    D['food']
    D['qian']+=1 字典具有可变性
    a={}
    a['name']='bob'
    a['age']=23
    重访嵌套
    rec={'name':{'first':'bob','last':'snuth'},
    'job':['dev','mgr'],
    'age':40.5}
    rec['name']
    rec['name']['last']
    rec['job'].append('janitor')
    D={'a':1,'b':2,'c':3}
    ks=D>keys()
    ks.sort()
    for key in ks:
    print key,'=>',D[key]

    for key in sorted(D):
    print key,'=>',D[key]
    迭代和优化
    square=[x**2 for x in [1,2,3,4]]
    square=[]
    for x in [1,2,3,4]:
    square.append(x**2)
    不存在的键 if测试
    D.has_key('f')
    if not D.has_key('f'):
    print 'missing'
    元组 是不可变的序列
    T=(1,2,3)
    文件
    f=open('data.txt','w')
    f.write('Hello ')
    f.write('world ')
    f.close()
    f=open('data.txt')
    bytes=f.read()
    print bytes
    bytes.split()

    第五章 数字
    数字常量
    混合类型自动升级
    传统除法,Floor除法和真除法
    内置的int函数会将一个数字的字符串变换为一个整数,并可以通过定义的第二个参数来确
    定变换后的数字的进制
    int('0100',8) int('0x40',16)
    eval(s)可以把一个八进制或者十六进制的字符串转换为正常的整数,但是开销更大可能导致
    安全问题
    int(2.56) round(2.567) round(2.567,2)
    小数数字
    from decimal import Decimal
    Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')

    第六章 动态类型简介
    a=3
    创建一个对象来代表值3
    创建一个变量a,如果它还没有创建
    把变量和新的对象3连接

    变量是一个系统表的元素,拥有指向对象的连接的空间
    对象是被分配的一块内存,有足够的空间去表现它们所代表的值
    引用是自动形成的从变量到对象的指针
    注意共享引用的问题
    a=[1,2,3]
    b=a
    a=2

    a=[1,2,3]
    b=a
    a[0]=2

    a=[1,2,3]
    b=a[:]
    a[0]=2
    对于字典共享引用的问题解决使用copy deepcopy方法

    L=[1,2,3]
    M=L
    L==M TRUE
    L is M TRUE
    ==是测试两个被引用的对象是够具有相同的值
    is操作符是检查对象的同一性

  • 相关阅读:
    html+php超大视频上传功能
    html+php超大视频上传教程
    html+php超大视频上传方案
    html+php超大视频上传技术
    html+php超大视频上传实例解析
    html+php超大视频上传示例
    html+php超大视频上传实例
    矩阵求导
    概率密度
    概率分布函数
  • 原文地址:https://www.cnblogs.com/SqLver/p/4931592.html
Copyright © 2011-2022 走看看