zoukankan      html  css  js  c++  java
  • 02 Python学习笔记-基本数据类型

    一、基本知识
    1.缩进:

     

     2.一行多条语句:

    3.断行:

    4.注释
    # 单行注释 

    '''这是一段 多行注释'''

     

    5. 变量

    •   1. 变量类型(局部变量、全局变量、系统变量)
    •   2. 变量赋值

            多重赋值x=y=z=1

            多元赋值x,y = y,x

    •   3. 变量自增 x+=1 x-=1(不支持x++, x--)

    *******Python3常量用大写表示,例如:PI = 360  表示常量,常量不能修改******

    二、Python的基本数据类型(6种)

    1.数字Number

      1. 种类
        1. 整型int(Python3中没有长整型,int长度几乎没有限制)

        2. 浮点型float

        3. 布尔型bool  (非空即真,非0即真)

          **False: 0,0.0,'',[],(),{}

          **True: 除False以外的,[''],[[],[]]不是False

        4. 复数型complex

      2. 操作符: +,-,*,/,//(地板除),**(乘方) 

    ********************Python3中的/是真实除,1/2=0.5*************************

      3. 类型转换

        1. str():其他类型转为字符串, 如 str(12)

        2. int():字符串数字转为整型(字符串不是纯整数会报错), 如 int("12")

        3. float():字符串转换为浮点数,如float("1.23")

    2.字符串String

     1) 字符串系统方法
    • len(): 计算字符串长度,如len("abcdefg")
    • find()/index(): 查找字符串中某个字符第一次出现的索引(index()方法查找不到会报错), 如"abcdefg".find("b"); "abcedfgg".index("g")
    • lower()/upper(): 将字符串转换为全小写/大写,如"AbcdeF".lower();"abcedF".upper()
    • isdigit()/isalpha()/isalnum(): 判断字符串是否纯数字/纯字母/纯数字字母组合, 如isdigit("123"),结果为 True
    • count(): 查询字符串中某个元素的数量,如"aabcabc".count("a")
    • join(): 将列表元素按字符串连接,如"".join(["a","b","c"])会按空字符连接列表元素,得到"abc"
    • replace(): 替换字符串中的某已部分,如"hello,java".replace("java", "python"),将java 替换为 python
    • split(): 和join相反,将字符串按分隔符分割成列表, 如"a,b,c,d".split(",")得到["a", "b", "c", "d"]
    • strip()/lstrip()/rstrip(): 去掉字符串左右/左边/右边的无意字符(包括空格,换行等非显示字符),如" this has blanks ".strip()得到"this has balnks"

     2)字符串格式化

    • %: 如"Name: %s, Age: %d" % ("Lily", 12)或"Name: %(name)s, Age: %(age)d" % {"name": "Lily", "age": 12}
    • format: 如"Name: {}, Age: {}".format("Lily", 12)或"Name: {name}, Age: {age}".format(name="Lily",age=12)
    • substitude(不完全替换会报错)/safe_substitude: 如"Name: ${name}, Age: ${age}".safe_substitude(name="Lily",age=12)
    3.列表List
      列表元素支持各种对象的混合支持嵌套各种对象如["a", 1, {"b": 3}, [1,2,3]]

      1. 列表操作

        赋值: l = [1, "hello", ("a", "b")]

        获取: a = l[0]     # 通过索引获取

        增: l.append("c");l.extend(["d","e"]);l+["f"]

        删: l.pop()                # 按索引删除,无参数默认删除最后一个;

        l.remove("c")      # 按元素删除  

        改:l[1]="HELLO"   # 通过索引修改

        查: 遍历   for i in l: print(i)

      2. 列表系统方法

        append()/insert()/extend(): 添加/插入/扩展(连接) index(): 获取元素索引

        count(): 统计元素个数

        pop()/remove(): 按索引/元素删除 sort()/reverse(): 排序/反转

        例如: 字符串反转s="abcdefg"; r=''.join(reversed(a))

     

     4.元组tuple 

    • 1. 不可改变,常用作函数参数(安全性好)        
    • 2. 同样支持混合元素以及嵌套
    • 3. 只有一个元素时,必须加","号,如a=("hello",) - 因为Python中()还有分组的含义,不加","会识别为字符串
    • *****字符串/列表/元组统称为序列有相似的结构和操作方法*****

    5.集合set

     

      1.集合可以通过序列生成a = set([1,2,3])

      2.集合无序,元素不重复(所有元素为可哈希元素)

      3.集合分为可变集合set和不可变集合frozenset

      4.操作方法:联合|,交集&,差集-,对称差分^

      5.系统函数: add()/update()/remove()/discard()/pop()/clear()

    6.字典dict

     

    字典是由若干key-value对组成, 字典是无序的, 字典的key不能重复,而且必须是可哈希的,通常是字符串 字典操作

    • 赋值: d = {"a":1, "b":2}
    • 获取: a = d['a']或a = d.get("a") # d中不存在"a"元素时不会报错 增: d["c"] = 3; d.update({"d":5, "e": 6}
    • 删: d.pop("d");d.clear() # 清空
    • 查: d.has_key("c")
    • 遍历:

         遍历key: for key in d:或for key in d.keys():

    • 遍历value: for value in d.values():遍历key-value对: for item in d.items():

    三、序列相关操作方法

     1.索引

      - 正反索引: `l[3];l[-1]`
      - 索引溢出(IndexError): 当索引大于序列的最大索引时会报错,如[1,2,3,4]最大索引是3,引用l[4]会报IndexError

    2.切片

    • l[1:3]   # 从列表索引1到索引3(不包含索引3)进行截取, 如 l = [1, 2, 3, 4, 5], l[1:3]为[2, 3]
    • l[:5:2]  # 第一个表示开始索引(留空0), 第二个表示结束索引(留空为最后一个,即-1), 第三个是步长, 即从开头到第5个(不包含第5个),跳一个取一个

     

    • 例如: 字符串反转 s="abcdefg";r=s[::-1]

    3.遍历

    • 按元素遍历: for item in l: print(item)
    • 按索引遍历: for index in range(len(l)): print(l[index])
    • 按枚举遍历: for i,v in enumerate(l): print((i,v))

    4. 扩展/连接(添加多个元素):

      extend()/+ "abc"+"123";[1,2,3]+[4,5];[1,2,3].extend([4,5,6,7])

    5. 类型互转: str()/list()/tuple()

     

    ****list转str一般用join(), strl转ist一般用split()******

    6.系统函数

    • len(): 计算长度
    • max()/min(): 求最大/最小元素
    • sorted()/reversed(): 排序/反转并生成新序列(sort()/reverse()直接操作原序列)l_new=sorted(l);l_new2=reversed(l)

    6种基本数据类型特点总结:

    • 1.数字/字符串/元组:长度固定
    • 2.序列(字符串/列表/元组):有序
    • 3.集合/字典:无序,不重复/键值不重复
  • 相关阅读:
    c++——if语句
    Hausdorff距离--模板匹配
    牛人(周志华)推荐的人工智能网站
    用VC++实现图像检索技术(转)
    经典的机器学习方面源代码库(非常全,数据挖掘,计算机视觉,模式识别,信息检索相关领域都适用的了)
    2013计算机视觉代码合集四
    2013计算机视觉代码合集三
    2013计算机视觉代码合集二
    2013计算机视觉代码合集一
    [IC]Lithograph(2)光刻技术的分辨率与分辨率增强技术
  • 原文地址:https://www.cnblogs.com/cocomoly/p/11560430.html
Copyright © 2011-2022 走看看