python 学习

切片:

       [start_index:  stop_index:  step]

start_index:  stop_index   参数都可以省略        默认  全部  但必须有一个  :

demo:

        start_index和stop_index的绝对值是可以大于length的。比如下面两个例子:?

1
2
3
4
5
>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> alist[-11:11]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> alist[11:-11:-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

      另外start_index和stop_index都是可以省略的,比如这样的形式 alist[:], 被省略的默认由其对应左右边界起始元素开始截取。

      看一下具体的实例:?

1
2
3
>>> alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> alist[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

函数默认参数:  陷阱

def qqxing(k,l = {}):    # l.append(1)    l[k] = 'v'    print(l)

qqxing(1)     #[1]qqxing(2)     #[1,1]qqxing(3)     #[1,1,1]

# 如果默认参数的值是一个可变数据类型,# 那么每一次调用函数的时候,# 如果不传值就公用这个数据类型的资源
def func(l):    return l[1::2]  #切片  从 第一个,  从1 开始  不是  0      2   4  print(func([1,2,3,4,5]))
def func(l):    return l[:2]

print(func([1,2,3,4]))
######## 全局变量变量名大写######## 局部变量变量名小写

# 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值 NAME=“fff”,#     但是对于可变类型,可以对内部元素进行操作# 如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值 NAME=“fff”
高阶函数
一   #filter函数movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']def sb_show(n):    return  Truedef sb_show(str):#     return  str.endswith('sb');## print(list(filter(sb_show,movie_people)))  ####注意  sb_show是变量 不是字符串

二、map函数
num_l = [1,2,10,5,3,7]# print(list(map(lambda x:x+1,num_l))

def add_one(x):    return x+1

print(list(map(add_one,num_l))    ####注意  add_one 是变量 不是字符串
三、reduce函数,  py3 要自己引入,因为已经删除内置
from functools import reduce

def add(x,y):    return x + yprint(reduce(add,list(range(1,100))))

匿名函数;没有实际名字的函数。

func=lambda x:x+'_sb'res=func(name)print('匿名函数的运行结果',res)
#处理序列中的每个元素,得到的结果是一个‘列表’,该‘列表’元素个数及位置与原来一样# map()

#filter遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下来

people=[    {'name':'alex','age':1000},    {'name':'wupei','age':10000},    {'name':'yuanhao','age':9000},    {'name':'linhaifeng','age':18},]print(list(filter(lambda p:p['age']<=18,people)))

#reduce:处理一个序列,然后把序列进行合并操作from functools import reduceprint(reduce(lambda x,y:x+y,range(100),100))print(reduce(lambda x,y:x+y,range(1,101)))
# 文件处理    # 打开文件        #open('路径','打开方式','指定编码方式')        # 打开方式 r w a r+ w+ a+ b

# ‘r+’读+追加模式,可读可写,# ‘w+’写读模式,打开创建新文件,因此需要先把内容写进去在读# ‘a’追加模式,若打开的是已有文件则直接对已有文件操作

文件打开,替换

with open('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8') as f2:    for line in f:        if '星儿' in line:  # 班主任:星儿            line = line.replace('星儿','啊娇')        f2.write(line)
f=open('test22.py','ab') #b的方式不能指定编码f.write('杨件'.encode('utf-8'))

open('a;ltxt','wt')
# print(f.tell())# f.readline()# print(f.tell())

# f.seek(1)# print(f.tell())# print(f.readlines())# f.seek(3)# print(f.tell())# print(f.read())

# data=f.read(1)# print(data)

# f.truncate(10)

# f.flush() #讲文件内容从内存刷到硬盘## f.closed #文件如果关闭则返回True## f.encoding #查看使用open打开文件的编码# f.tell() #查看文件处理当前的光标位置## f.seek(3) #从开头开始算,将光标移动到第三个字节# f.truncate(10) #21以写方式打开,但是w和w+除外## f=open('d.txt','r',newline='')## data=f.readline().encode('utf-8')# print(data)# print(f.tell())

f=open('日志文件','rb')

# for i in f.readlines():#     print(i)

#循环文件的推荐方式# for i in f:#     print(i)

for i in f:    offs=-10    while True:        f.seek(offs,2)        data=f.readlines()        if len(data) > 1:            print('文件的最后一行是%s' %(data[-1].decode('utf-8')))            break        offs*=2

posted on 2019-02-28 15:29 jason&li 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/ldms/p/10450698.html

python 学习相关推荐

  1. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  2. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  3. python学习------tab补全

    python学习------tab补全   python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env  ...

  4. Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...

  5. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  6. 最新Python学习项目Top10!

    作者 | Mybridge 译者 | Linstancy 整理 | Jane 出品 | AI科技大本营 [导读]过去一个月里,我们对近1000个Python 学习项目进行了排名,并挑选出热度前10的项 ...

  7. 200页!分享珍藏很久的Python学习知识手册(附链接)

    这是之前入门学习Python时候的学习资料,非常全面,从Python基础.到web开发.数据分析.机器学习.深度学习.金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的 ...

  8. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  9. Python学习01 Hello World

    Python学习之Hello World 准备工作 去官网http://www.python.org/ 下载python的安装包: http://www.python.org/download/ 当前 ...

  10. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

最新文章

  1. ssis foreach 使用ADO记录集
  2. roc曲线怎么绘制_ROC曲线和PR曲线
  3. java 大文件下载_Java大文件下载不全问题
  4. IO多路复用中select、poll、epoll之间的区别
  5. 【实践】美团到店综合业务场景下的知识图谱构建与应用实践.pdf(附下载链接)...
  6. 亮点抢先看,华为云 TechWave 大数据专题日有啥料?
  7. HTTP中GET与POST的区别,99 %的人都理解错了
  8. Matlab高级教程_第一篇:Matlab基础知识提炼_02
  9. Navicat Premium 15 逆向表到模型
  10. Web API 处理机制剖析 --- 拨开迷雾看本质
  11. 彼得·德鲁克 : 管理自己
  12. 微信小游戏推荐:又一款H5微信互动小游戏要火啦!
  13. opa847方波放大电路_用运算放大器获得三角波、正弦波、方波的简易实用电路
  14. 这个开源项目有点强,无需编码,可一键生成前后端代码
  15. Spring读源码系列番外篇04----类型转换--上---老旧的PropertyEditor
  16. LVM 扩容---LVM扩展系统的根分区
  17. 阿里面试官:说一下公平锁和非公平锁的区别?
  18. 保险机构如何保护客户信息安全?
  19. BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用
  20. id 重启event_windows server 2008 R2服务器自动重启,事件ID:6008和事件ID:5

热门文章

  1. 使用AspNetpagerGridView添加连续的序号
  2. 开始喜欢Python了
  3. python的快速入门-1.1、Python快速入门(0529)
  4. python爬虫教程入门-Python爬虫系列 - 入门教学
  5. python做些什么-学会Python后都能做什么?网友们的回答简直不要太厉害
  6. 毕业设计 基于python的网络爬虫-基于python的网络爬虫
  7. python北京理工大学推荐的书-2020最新的学Python编程的五本必读好书
  8. python编程电子书下载-python编程初学者指南
  9. python风变编程是骗局吗-风变编程:花时间学Python,是对自己未来最好的投资
  10. python语言编程基础-Python语言入门详解!快速学成Python!