python

python基础
  1. 规范:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]
  1. 字符串操作

    1. 分割:s.split()将s按照空格(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串列表。

    2. 连接:与分割相反,s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来,并返回连接后得到的新字符串。

    3. 替换:s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2,并返回新的字符串。

    4. 统计:s.count(sub) 返回子字符串在字符串中出现的次数

    5. 去除多余空格

      • s.strip()返回一个将s两端的多余空格除去的新字符串。
      • s.lstrip()返回一个将s开头的多余空格除去的新字符串。
      • s.rstrip()返回一个将s结尾的多余空格除去的新字符串。
    6. 大小写转换

      • s.upper()方法返回一个将s中的字母全部大写的新字符串。
      • s.lower()方法返回一个将s中的字母全部小写的新字符串。
    7. 强制转换为字符串: str(ob)

    8. 格式化字符串:

      • Python用字符串的format()方法来格式化字符串。
      • 也可以使用旧式的 % 方法进行格式化
        s = "some numbers:"
        x = 1.34
        y = 2
        # 用百分号隔开,括号括起来
        t = "%s %f, %d" % (s, x, y)
        
    9. 引号的区别
      单引号和双引号的区别:
      单引号内可以包含双引号
      双引号内可以包含单引号

      三引号字符串:
      可以包含单引号和双引号
      三引号字符串中的换行会自动转换为换行符 \n

  2. 循环控制语句

    1. 遍历循环: for <循环变量> in <遍历结构>:
    2. 无限循环:while <条件>:
    3. 循环保留字: break和continue
    4. 死循环是指循环条件一直成立的循环,通常用break语句来终止循环
  3. 组合数据类型
    在这里插入图片描述

    1. 序列类型(索引和切片)

      • 序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
      • 序列类型支持成员关系操作符(in)、长度计算函数(len())、分片([]),元素本身也可以是序列类型。
      1. 列表用中括号[]表示,也可以通过list()函数将元组或字符串转化成列表。 列表是一个可以修改数据项的序列类型。
      2. 元组tuple()是包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除。
        list类型不能直接做元素数值加减运算,方法之一是借助 numpy库
    2. 集合类型:集合 set 是一种无序的序列。集合中放入的元素不可变、唯一。基本功能包括关系测试和消除重复元素 。

      • 方法:s.add(a)用来向集合添加单个元素。
      • s.update(seq)用来向集合添加多个元素。
      • s.remove(ob)移除单个元素。
      • pop方法弹出元素由于集合没有顺序,不能像列表一样按照位置弹出元素,所以pop 方法删除并返回集合中任意一个元素,如果集合中没有元素会报错。
      • discard 方法作用与 remove 一样,但是当元素在集合中不存在的时候不会报错。
      • a.union(b) 或者操作 a | b 实现并集。
      • a.intersection(b) 或者操作 a & b 实现交集。
      • a.difference(b) 或者操作 a - b 实现差集。
      • a.symmetric_difference(b) 或者操作 a ^ b 实现(异或操作符)对称差。
      • 要判断 b 是不是 a 的子集,可以用 b.issubset(a) 方法,或者更简单的用操作 b <= a
    3. 映射类型:字典dict()或{“”:“”,“”:“”}。Python中不能用支持用数字索引按顺序查看字典中的值,而且数字本身也有可能成为键值,这样会引起混淆。字符串、整型、元组作为键值。不能充当键的类型浮点数,列表list,字典dict,集合set

      • 方法:d.get(key, default = None)返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None )。
      • d.pop(key, default = None)删除并返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None )。
      • d.update(newd)将字典newd中的内容更新到d中去。
      • d.keys() 返回一个由所有键组成的列表;d.values() 返回一个由所有值组成的列表;d.items() 返回一个由所有键值对元组组成的列表。
  4. 推导式

    1. 推导式是可以从一个数据序列构建另一个新的数据序列的结构体。
    2. 列表(list)推导式
      squares = [x ** 2 for x in values if x <= 10]
      [(x,y) for x in range(1, 4) for y in range(1, 4)]
    3. 集合(set)推导式&字典(dict)推导式它们跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}。
      快速交换key和value: mcase_frequency = {v: k for k, v in mcase.items()}
      seasons = ['Spring', 'Summer', 'Fall', 'Winter']
      list(enumerate(seasons))
      #输出:[(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]
      
      # 九九乘法表
      print('\n'.join(['\t'.join(['%d * %d = %d'%(y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)]))
      
      # 字典中age键,按照条件赋新值
      bob = {'pay': 3000, 'job': 'dev', 'age': 42, 'name': 'bob smith'}
      sue = {'pay': 4000, 'job': 'hdw', 'age': 45, 'name': 'sue jones'}
      people = [bob, sue]
      result=[rec['age'] + 100 if rec['age'] >= 45 else rec['age'] for rec in people]
      print(result)
      # 输出[42, 145]
      
      strings = ['import','is','with','if','file','exception']
      d = {x: len(x) for x in strings}
      # 输出{'import': 6, 'is': 2, 'with': 4, 'if': 2, 'file': 4, 'exception': 9}
      
  5. 文件读写

    1. 文件读写步骤
      打开文件 open
      读文件 read/readlines
      写文件 write
      关闭文件 close
    2. Python提供了更安全的方法,当 with 块的内容结束后,Python会自动调用它的close 方法,确保读写的安全。
    3. 文件和目录操作:os库
      1. 查看、创建、删除目录

        1. os.remove(path)或os.unlink(path):删除指定路径的文件。路径可以是全名,也可以是当前工作目录下的路径。
        2. os.removedirs:删除文件,并删除中间路径中的空文件夹
        3. os.listdir(path):返回给定目录下的所有文件夹和文件名,不包括’.‘和’…'以及子文件夹下的目录。
        4. os.mkdir(name):产生新文件夹
        5. os.makedirs(name):产生新文件夹,如果中间路径的文件夹不存在,则创建文件夹
      2. 路径分隔split 和路径合并 join

        1. os.path.split(path):拆分一个路径为(head, tail)两部分
        2. os.path.join(a, *p):使用系统的路径分隔符,将各个部分合成一个路径
        3. os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便:

        要列出所有的.ipynb文件,也只需一行代码:
        [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.ipynb']

      3. 测试,其他

        1. 返回绝对路径
        2. 是否是文件
        3. 是否是目录
  6. JSON文件和CSV文件

    1. JSON 的基础结构有两种:键值对 (name/value pairs) 和数组 (array)。示例:
    {
     "name": "echo",
     "age": 24,
     "coding skills": ["python", "matlab", "java", "c", "c++", "ruby", "scala"],
     "ages for school": { 
         "primary school": 6,
         "middle school": 9,
         "high school": 15,
         "university": 18
     },
     "hobby": ["sports", "reading"],
     "married": false
    }
    
    1. json模块的功能
      • dumps:把其他对象或格式转换为json格式
      • loads:把json转换成其他格式,
      • dump:把json数据写入到文件中
      • load:将文件的内容转换成为json数据
    2. csv(Comma-Separated Values),也叫逗号分割值
      1. csv.reader(csvfile [, dialect=‘Excel’] [, fmtparam])
        参数表:
      • csvfile: 文件(file)对象(需要先打开文件)
      • dialect :可选,编码风格,默认为excel方式,也就是逗号(,)分隔
      • fmtparam: 可选,格式化参数,用来覆盖之前dialect对象指定的编码风格。
      1. csv文件写入:csv.writer(csvfile, dialect=‘excel’, **fmtparams)
  7. 面向对象编程
    面向对象的三大特性是指:封装、继承和多态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物往fd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值