zoukankan      html  css  js  c++  java
  • python学习第一天---基本数据类型

    1.Number

       (1) 整数:int
     (2)浮点数:float(无单精度和双精度之分)
      计算注意点:
      2/2=1.0
    type(2/2)
    》》》 <class 'float'>
    1+1=2
    1+1.0 = 2.0
    如果想要除法得到整数:
    type(2//2)
    》》》<class 'int'>
    1//2
    》》》0
    

    单斜杠是除法,自动转为浮点型数据,双斜杠表示整除,只会保留整数部分

      关于进制,同其他 语言相同:
     
      二进制:0b10 代表十进制的2
      八进制:0b10 代表十进制的8
      十六进制:0bff 代表十进制的255
     
      进制转换法:
      bin(x): 把其他进制数字转化为二进制
      int(x):把其他进制数字转化为十进制
      hex(x):把其他进制数字转化为十六进制
      oct(x):把其他进制数字转化为八进制
     
      复数(Complex):如36j
     
     

    2.bool 布尔值

      bool也是Number的一种
     
      与javascript不同的是, bool([])的结果是false, 而javascript中Boolean([])为true
      同时:所有的空值都是转化为false,如0, 空对象, ‘’,[]
      另外一个可以转为false的是None
     

    3.单引号与双引号和三引号

      单引号和双引号表示字符串,三引号字符串中可以用回车来表示换行
    """hello world
    hello world 
    hello world"""
    

      

      当然也可以使用三个单引号。
      输出结果是: 'hello world hello world hello world'
    """hello world
    hello world
    hello world"""
      以上代码的输出结果是:
    'hello world
    hello world
    hello world'

      也就是说引号并不解析转义字符串。

      我们可以通过print去打印,此时转义字符会被解析
      在print时, 为了不让部分字符转义,我们可以在字符串前加r
    >>> print(r"c:
    orthword
    orthEast")
     c:
    orthword
    orthEast 
    >>> print("c:
    orthword
    orthEast") 
    c: 
    orthword 
    orthEast

      加入r或者R后,这个字符串就不是普通字符串了,而是一个原始字符串。

     

    4.字符串运算

      与javascript相同,字符串可以通过方括号来获取第n位的字符":
    "hello
    world"[0] == "h"

      但是与javascript不同的是,在python中,可以有负序号:

    "hello
    world"[-1] == "d" //True
    "hello
    world"[-13] 
    //>>> "hello
    world"[-13] 
    //>>>Traceback (most recent call last): 
    //>>> File "<pyshell#0>", line 1, in <module> 
    //>>> "hello
    world"[-13] 
    //>>>IndexError: string index out of range
    //超出范围报错

      而在JavaScript中,

    "hello
    world"[-1] //undefined

      字符串截取与拼接:

    "hello world"[5:7] //' w'
     
    "hello world"[0:-2] //'hello wor'
    "hello world"[-1:-2] // ''
    "hello world"[-3:-2] //'r'
    "hello world"[-3:] //'rld'
    "hello world"[:-3] //'hello wo'
    "sdfd" * 3 //'sdfdsdfdsdfd'

    5.列表-- list

      列表访问
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"] 
    //['新月打击', '苍白之瀑', '月之降临', '月神冲刺'] 
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][0]
    //'新月打击'
     >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][1] 
    //'苍白之瀑' 
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][:1]
    //['新月打击']
     >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][:3]
    //['新月打击', '苍白之瀑', '月之降临'] 
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][1:]
     //['苍白之瀑', '月之降临', '月神冲刺'] 
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][-1]
    //'月神冲刺'
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][-1, -2] //[] >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"][-2: -1] //['月之降临']
      列表拼接:
    >>> ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"] + ['月之降临'] //['新月打击', '苍白之瀑', '月之降临', '月神冲刺', '月之降临'] 
    ["新月打击", "苍白之瀑", "月之降临", "月神冲刺"]*2 
    //['新月打击', '苍白之瀑', '月之降临', '月神冲刺', '新月打击', '苍白之瀑', '月之降临', '月神冲刺']

    6.元组:---tuple

    (1,2,‘T’, True)
      获取元组的某一项或某几项都是与数组一样的,包括拼接,*(乘法)等
    type((1,2,3)) 
    //tuple type((1)) 
    //int --- 元组中只有一个元素时,就会获取到该元素的类型 
    type((True)) 
    //<class 'bool'> 
    type(([1,2,]))
    //<class 'list'>
     type((1,)) 
    //<class 'tuple'> 
    type(()) 
    //<class 'tuple'> 
    type([1]) 
    //<class 'list'>

    7.序列

      在python中,list和tuple不叫组,而是叫做序列,str也是序列
      字符串,数组,元组的截取叫做切片
    "hello world"[0:8:2] 
    //'hlow' 
    "hello world"[0:8:3] 
    //'hlw'

      由以上代码可以总结, 对于str【x:y:z】从第x+1个起(从序号为x的开始),每隔z-1个获取一个值,一直到第y个为止,最后讲这些获取的拼接在一起。

      判断在序列中是否存在:
    >>> "a" in "asfsdaf" 
    True 
    >>> "3" in "345dfdfdf"
    True 
    >>> 3 in (123, 4, 5) 
    False 
    >>> 3 in (123, 3, 5) 
    True 
    3 in "233dddd" 
    //报错,3是int类型 ,不能在字符串中寻找 3 in ["3", 4] //False 类型不同 
    3 not in [1,2,3] //False
      获取序列的长度:
    >>> len([1,2,3,4,5,6]) 
    6 
    >>> len((1, '3', 'a', True)) 
    4 
    >>> len("d1fdf")
    5
      取最值:
    >>> max((1,2,3,50,800,2)) 
    800 
    >>> max([1,2,3,50,800,2]) 
    800 
    >>> max('hello world') 
    'w' 
    >>> min("helloworld")
     'd' 
    >>>min("helloworld345")
     '3' 
    >>> max(["3", "cd"]) 
    'cd'
    >>> max([3, "cd"])
     //Traceback (most recent call last): 
    // File "<pyshell#13>", line 1, in <module> 
    // max([3, "cd"]) 
    //TypeError: '>' not supported between instances of 'str' and 'int' //类型不同不可比较
      获取字符的ASCII 码
    >>> ord("cc")
    Traceback (most recent call last): 
    File "<pyshell#0>", line 1, in <module> 
    ord("cc") 
    TypeError: ord() expected a character, but string of length 2 found >>> ord("c") 
    99

    8.集合:{}

      set 无序的
    type({1,23,5,6,8,9}) 
    //<class 'set'> 
    {1,3,5,48,5,9,1,1,5,64,85} 
    //{64, 1, 3, 5, 9, 48, 85} 重复的会被剔除
      集合支持的操作: len(), in
    >>> 15 not in {1,3,5,48,5,9,1,1,5,64,85}
     True 
    >>> 3 in {1,3,5,48,5,9,1,1,5,64,85}
     True
      元素剔除:
      -:求两个集合的差集
    >>> {1,2,3,4,5,6} - {3, 4} 
    {1, 2, 5, 6} 
    >>> {1,2,3,4,5,6} - {3, 4,7,8,9}
     {1, 2, 5, 6}

      &: 求两个集合的公共部分(交集)

    >>> {1,2,3,4,5,6} & {3, 4} 
    {3, 4}
    >>> {1,2,3,4,5,6} & {3, 4,7,8,9} 
    {3, 4}

      | : 并集

    >>> {1,2,3,4,5,6} | {3, 4,7,8,9} 
    {1, 2, 3, 4, 5, 6, 7, 8, 9}

      类型:

    type({}) 
    //<class 'dict'>
     type(set()) 
    //<class 'set'>
     set({1,3,5,4})
     //{1, 3, 4, 5} 
    type({123,132,}) 
    //<class 'set'>

    9.字典:dict

    type({1:1,2:2})
     //<class 'dict'>

      查询:

    {"Q": "新月打击", "W": "苍白之瀑","E": "月之降临", "R": "月神冲刺"}["Q"]
     //'新月打击' {"Q": "新月打击", "Q": "苍白之瀑","E": "月之降临", "R": "月神冲刺"}["Q"] 
    //'苍白之瀑' ---- 注意如有相同的key,则取最后一个,这是为啥呢? 
    >>> {"Q": "新月打击", "Q": "苍白之瀑","E": "月之降临", "R": "月神冲刺"} 
    //{'Q': '苍白之瀑', 'E': '月之降临', 'R': '月神冲刺'} 
    >>> {1: "新月打击", "1": "苍白之瀑","E": {1:1}, "R": "月神冲刺"} //{1: '新月打击', '1': '苍白之瀑', 'E': {1: 1}, 'R': '月神冲刺'}

      不可变类型才能当做key:

    >>> {[1,2]: '新月打击', '1': '苍白之瀑', 'E': {1: 1}, 'R': '月神冲刺'} 
    Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> 
    {[1,2]: '新月打击', '1': '苍白之瀑', 'E': {1: 1}, 'R': '月神冲刺'} TypeError: unhashable type: 'list' 
    >>> {True: '新月打击', '1': '苍白之瀑', 'E': {1: 1}, 'R': '月神冲刺'} {True: '新月打击', '1': '苍白之瀑', 'E': {1: 1}, 'R': '月神冲刺'}
     life is short, i use python

  • 相关阅读:
    英雄联盟离线更新方法
    (七) Keras 绘制网络结构和cpu,gpu切换
    剑指offer | 链表中的倒数第K个结点 | 12
    剑指offer | 从尾到头打印链表 | 11
    剑指offer | 栈的压入,弹出序列 | 10
    剑指offer | 包含min函数的栈 | 09
    剑指offer | 调整数组顺序使奇数位于偶数前面 | 08
    剑指offer | 旋转数组的最小数字 | 07
    剑指offer | 两个栈实现一个队列 | 06
    剑指offer | 替换空格 | 05
  • 原文地址:https://www.cnblogs.com/dsweb/p/14009543.html
Copyright © 2011-2022 走看看