• 02-python基本数据类型


    python的变量不需要声明, 但变量使用前必须复制, 因为python中所有的内容全部是对象

    变量是没有类型的, 有类型的是指向内存对象的类型

    a = '123'
    a = 123  是合法的

    此外, python还可以进行多变量的连续赋值

    a  = b = c = 1
    a, b, c = 1, 'qwe', 'c'

    1, Number类型

    1、Python可以同时为多个变量赋值,如a, b = 1, 22、一个变量可以通过赋值指向不同类型的对象。
    3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
    4、在混合计算时,Python会把整型转换成为浮点数。

    python的math函数

    函数          返回值 ( 描述 )
    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.sqrt(4)返回 2+0j

    2, str类型

    msg = "What's Is Your Name?"
    
    #find, 查找子串位置, 可指定从哪开始查找
    index = msg.find('Name', 1, 34)
    print (index)
    
    # rfind, 反向查找
    index = msg.rfind('Name', 1, 20)
    print(index)
    
    # 与list之间的转换
    msg_list = msg.split(' ')
    join_msg = ' '.join(msg_list)
    print (msg_list)
    print(join_msg)
    
    # 使用[:]进行截取
    print(msg[3: 8])

    另外:  字符串的运算有:

    + 字符串连接
    >>>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 >>> print R' ' n

    格式化输出; 

    类c: %s, %d, %c, %f
    format: '{0}, {1}'.format(str0, str1)

    3, list类型   [value, value2, value3]

    # list 的常用操作
    # 列表有序
    
    msg_list = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
    msg_list.append(5)
    msg_list.reverse()
    msg_list.remove(5)
    msg_list.index(3)
    msg_list.insert(2, 'a')         # 插入
    
    list2 = ['a', 'b']
    msg_list.extend(list2)          # 列表相加
    
    # 切片
    new_list = msg_list[2:4]                   # 包左不包右
    msg_list[-5: ]          # 从倒数第五位开始切
    
    print (msg_list)
    print (new_list)
    
    print (msg_list)
    # 求2 出现的位置
    first_position = 0
    for i in range(msg_list.count(2)) :
        new_position = msg_list.index(2) + 1
        msg_list = msg_list[first_position:]
        first_position += new_position
        print first_position
    
    # 或者使用index
    # for i in range(msg_list.count(2)):
    #     if first_position == 0 :
    #         first_position = msg_list.index(2)
    #     else:
    #         first_position = msg_list.index(2, first_position + 1)
    #     print first_position

    list中 [::] 的使用

    list = range(1, 10)
    print(list[::2])    # 从第一个开始, 隔2个取一个
    print(list[2::])    # 从index=2 开始取, 到最后
    print(list[::-1])   # 跟reverse一样, 倒叙
    print(list[::-2])   # 倒序, 隔2个取一个

    4, 元组

    元组和list的区别是, 元组的数据不可变, 需要写在() 里面的, 用都好隔开

    其他方法和list同

    5, sets

    sets 是无序不重复的序列, 功能是进行成员关系的测试和删除重复元素

    创建空集合需要用set(), 因为{} 是用来创建空的dict

    主要用来进行集合运算

    #!/usr/bin/python3
     
    student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     
    print(student)   # 输出集合,重复的元素被自动去掉
     
    # 成员测试
    if('Rose' in student) :
        print('Rose 在集合中')
    else :
        print('Rose 不在集合中')
     
     
    # set可以进行集合运算
    a = set('abracadabra')
    b = set('alacazam')
     
    print(a)
     
    print(a - b)     # a和b的差集
     
    print(a | b)     # a和b的并集
     
    print(a & b)     # a和b的交集
     
    print(a ^ b)     # a和b中不同时存在的元素

    6, dict

    字典是类型java map的一种集合, 存放的key-value的形式的值

    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
    
    # 访问字典中的值, 没有则报错
    print "dict['Name']: ", dict['Name'];
    print "dict['Age']: ", dict['Age'];
    
    # 修改字典
    dict['Age'] = 8; # update existing entry
    dict['School'] = "DPS School"; # Add new entry
    
    # 删除字典
    del dict['Name']; # 删除键是'Name'的条目
    dict.clear();     # 清空词典所有条目
    del dict ;        # 删除词典

    字典的值可以是任意python对象,键不可改变且不可重复, 所以键只能是数字, 字符串或者元组类型

  • 相关阅读:
    sqlHelp.java
    IIS7.0 检测到在集成的托管管道模式下不适用的ASP.NET设置 的解决方法
    [转]安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错。错误码是29506
    单表中的sql语句
    网页::::无法访问请求的页面,因为该页的相关配置数据无效。
    <authentication mode="Windows"/>
    无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。这个错误很难判断错在哪里,刚开……
    [转] css实现透明度(兼容IE6、IE7、Firefox2.0)
    企业微信机器人消息发送
    阴阳历自动转换工具函数
  • 原文地址:https://www.cnblogs.com/wenbronk/p/7113633.html
Copyright © 2020-2023  润新知