Python学习手册04/10

Python对象

number

  • Python Number 数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

  • 可以使用del释放内存

    • # 您可以通过使用del语句删除单个或多个对象,例如:
      del var
      del var_a, var_b
      
  • Python 支持四种不同的数值类型:

    • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。

    • 长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。

    • 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 10^2 = 250)

    • 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

    • intlongfloatcomplex
      1051924361L0.03.14j
      100-0x19323L15.2045.j
      -7860122L-21.99.322e-36j
      0800xDEFABCECBDAECBFBAEl32.3+e18.876j
      -0490535633629843L-90.-.6545+0J
      -0x260-052318172735L-32.54e1003e+26J
      0x69-4721885298529L70.2-E124.53e-7j
  • # python的类型转换
    int(x [,base ])         将x转换为一个整数  
    long(x [,base ])        将x转换为一个长整数  
    float(x )               将x转换到一个浮点数  
    complex(real [,imag ])  创建一个复数  
    str(x )                 将对象 x 转换为字符串  
    repr(x )                将对象 x 转换为表达式字符串  
    eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
    tuple(s )               将序列 s 转换为一个元组  
    list(s )                将序列 s 转换为一个列表  
    chr(x )                 将一个整数转换为一个字符  
    unichr(x )              将一个整数转换为Unicode字符  
    ord(x )                 将一个字符转换为它的整数值  
    hex(x )                 将一个整数转换为一个十六进制字符串  
    oct(x )                 将一个整数转换为一个八进制字符串  
    
    # number对象
    var1, var2 = 15, 20
    print(var1 + var2)
    # 十六进制 八进制 二进制
    print(hex(var1 + var2))
    print(oct(var1 + var2))
    print(bin(var1 + var2))
    # 释放对象
    del var1, var2
    
  • Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

    • math 模块提供了许多对浮点数的数学运算函数。
    • cmath 模块包含了一些用于复数运算的函数。cmath 模块的函数跟 math 模块函数基本一致,
    • 区别: cmath 模块运算的是复数,math 模块运算的是数学运算。要使用 math 或 cmath 函数必须先导入:
  • 基本函数

    • 函数返回值 ( 描述 )
      abs(x)返回数字的绝对值,如abs(-10) 返回 10
      ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
      cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
      exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
      fabs(x)返回数字的绝对值,如math.fabs(-10) 返回10.0
      floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
      log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
      log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
      max(x1, x2,…)返回给定参数的最大值,参数可以为序列。
      min(x1, x2,…)返回给定参数的最小值,参数可以为序列。
      modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
      pow(x, y)x**y 运算后的值。
      round(x ,n)返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
      sqrt(x)返回数字x的平方根
  • # math库
    from cmath import e, pi
    from math import sqrt
    
    tp, cp, vp = -15, 15, 1
    # 取绝对值
    print(abs(tp))
    # 取最大值
    print(max(tp, cp, vp))
    # 取最小值
    print(min(tp, cp, vp))
    # 取m的n次幂
    print(pow(tp, vp + 1))
    # 取平方根
    print(sqrt(pow(tp, 2)))
    # pi和e
    print(pi, e)
    
  • 随机数

    • 函数描述
      choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
      randrange ([start,] stop [,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
      random()随机生成下一个实数,它在[0,1)范围内。
      seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
      shuffle(lst)将序列的所有元素随机排序
      uniform(x, y)随机生成下一个实数,它在[x,y]范围内。
    • # 随机数
      print(choice(range(10)))
      print(random() * 10)
      st = [12, 34, 43, 23, 13, 24]
      print('乱序前', st)
      # 将列表中的元素全部打乱,每次结果都不一样
      shuffle(st)
      print('乱序后', st)
      # floor取下整数,uniform(x,y)取一个随机整数
      print(floor(uniform(10, 100)))
      # 随机数种子
      print(random())
      

字符串

  • 字符串是 Python 中最常用的数据类型。我们可以使用引号 ( " ) 来创建字符串。

  • Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。但是可以使用方括号来截取字符串

  • 字符串的一些操作

  • 操作符描述实例
    +字符串连接>>>a + b ‘HelloPython’
    *重复输出字符串>>>a * 2 ‘HelloHello’
    []通过索引获取字符串中字符>>>a[1] ‘e’
    [ : ]截取字符串中的一部分>>>a[1:4] ‘ell’
    in成员运算符 - 如果字符串中包含给定的字符返回 True>>>“H” in a True
    not in成员运算符 - 如果字符串中不包含给定的字符返回 True>>>“M” not in a True
    r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。>>>print r’\n’ \n >>> print R’\n’ \n
  • var1, var2 = 'hello', 'world'
    # 输出字符串
    print(var1, var2)
    # 输出字符串中的子串
    print(var1[1], var2[3:5])
    # 字符串连接
    print(var1 + var2)
    
    a = "Hello"
    b = "Python"
    
    print("a + b 输出结果:", a + b)
    print("a * 2 输出结果:", a * 2)
    print("a[1] 输出结果:", a[1])
    print("a[1:4] 输出结果:", a[1:4])
    
    if ("H" in a):
        print("H 在变量 a 中")
    else:
        print("H 不在变量 a 中")
    
    if ("M" not in a):
        print("M 不在变量 a 中")
    else:
        print("M 在变量 a 中")
    
    print(r'\n')
    print(R'\n')
    
    print("My name is %s and weight is %d kg!" % ('Zara', 21))
    

列表

  • 列表相当于数组,可以修改数据,可以按所索引查找

  • 列表的函数非常多

  • # 列表
    a = [1, 3, 432, 532, 235, 25, 3251, 35, 13, 51]
    b = ['abc', 'efg', 'hij', 'rst']
    print(a, b)
    # 列表可以直接相加
    print(a + b)
    # 在列表末尾添加元素
    a.append(55)
    b.append('123')
    print(a, b)
    # 删除列表元素
    # 用索引删除元素
    del a[0], b[0]
    print(a, b)
    # 根据值删除元素
    a.remove(55)
    b.remove('rst')
    print(a, b)
    # 输出多次列表 元素和值的关系
    print(b[0] * 3)
    print(3 in a)
    print('a' in b)
    # 迭代列表
    # for x in a:
    #     print(x)
    # 清空列表
    print(a, '中最大的数为', max(a))
    print(b, '中最大的数为', max(b))
    # 反转列表
    a.reverse()
    print(a)
    # 追加一个列表
    # a.extend(b)
    print(a)
    # 对列表排序
    a.sort()
    print(a)
    a.clear()
    print(a, b)
    # 根据索引获取元素 正数为正向,负数为逆向
    print(b[1], b[-1])
    
    

元组

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

  • 元组的元素是不可修改的

  • 元组的元素不能逐个删除,只能直接删除元组

  • # 元组
    tup1 = (1, 2, 3, 4, 5)
    tup2 = ('hello', 'world', 'lol', 'cs')
    # 索引从0-n-1
    print(tup1[1], tup2[2])
    # 元组直接相加
    print(tup2 + tup1)
    # 删除元组
    a = tup1
    b = tup2
    del tup1, tup2
    print(a)
    # 求元组中的元素个数
    print(a, '中元素个数为:', len(a))
    print(b, '中元素个数为:', len(b))
    # 是否包含
    print(3 in a)
    # 索引截取
    print(a[1:3])
    print(a[4:])
    # 最大值、最小值函数、必须为同一种数值类型
    print(a, '最大值为', max(a), '最小值为', min(a))
    
    

字典

  • 字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

  • dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

  • 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

  • 字典特性

    • 元素的键不可修改,取值只能是固定的常量
    • 元素的值可以取任意类型
  • # 字典运算
    a = {'name': 'xiaomi', 'age': 20, 'class': 'wlgc183'}
    print(a['name'], a['age'], a['class'])
    # 修改元素的值
    a['age'] = 25
    a['class'] = 'huawei'
    print(a['name'], a['age'], a['class'])
    # 删除字典元素和清空
    del a['name']
    print(a)
    # 清空键值
    # a.clear()
    print(a)
    # 字典转化为字符串
    b = str(a)
    print(b)
    # 添加元素只需要直接增加即可
    a['name'] = 'oppo'
    print(a)
    a['price'] = 1500
    print(a)
    # 键的个数
    print(len(a))
    print(a.get('name'))
    b = a.items()
    print(b)
    b = a.keys()
    print(b)
    b = a.values()
    print(b)
    
    

时间与日期

  • Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

  • 时间元组

    • 序号字段
      04位数年2008
      11 到 12
      21到31
      3小时0到23
      4分钟0到59
      50到61 (60或61 是闰秒)
      6一周的第几日0到6 (0是周一)
      7一年的第几日1到366 (儒略历)
      8夏令时-1, 0, 1, -1是决定是否为夏令时的旗帜
    • 上述也就是struct_time元组。这种结构具有如下属性:

      序号属性
      0tm_year2008
      1tm_mon1 到 12
      2tm_mday1 到 31
      3tm_hour0 到 23
      4tm_min0 到 59
      5tm_sec0 到 61 (60或61 是闰秒)
      6tm_wday0到6 (0是周一)
      7tm_yday1 到 366(儒略历)
      8tm_isdst-1, 0, 1, -1是决定是否为夏令时的旗帜
  • # 时间和日期对象
    # 打印时间戳
    from calendar import month
    from email.utils import localtime
    from time import asctime, time
    
    tim = time()
    print('本地时间为', tim)
    # 获取本地时间
    tim = localtime()
    print('本地时间为', tim)
    # 格式化时间
    tim = asctime()
    print('本地时间为', tim)
    # 获取某年某月的全部日期
    cal = month(2022, 5)
    print(cal)
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值