append和extend的区别

extend可以将另一个集合中的元素逐一添加到列表中

append向列表添加元素,将元素整体添加进去列表

append添加的注意事项 a=a.append(b)画蛇添足,得到 none

列表和字典

一般列表存储相同类型信息,字典为各种真实物体建模(如表示人的字典,存储姓名、年龄等)或者存储任意两种相关的信息,如一列山脉及其海拔

元祖

不可以修改,不可增删,只能查

拆包for A,B in infor.items():

print("key=%s,value=%s"%(A,B))

将字典里面的元素拆包

每一行某个位置都添加值,鼠标拖住选中,Ctrl+D 最右边添加):Ctrl+→

模块化

原来程序从上到下写,功能揉到一起,想拆分很难,用函数能模块化 ,解耦,耦合性降低

具有独立功能的代码块作为一个整体 def 函数名():

封装为函数

函数的返回值

查找bug的简单方法print("----1-----")print("-----2-----")print("-----3-----")

return

一个函数不能直接用另一个函数里面的变量,先用return返回到调用语句,再在函数里当做参数调用

不要上来直接就定义函数,先按照大流程走,该定义的时候再定义

实参和形参区别

形参是接收的,实参是传的

局部变量

在一个函数里可以用,在其他函数里用不了

全局变量

就像DOTA,使用技能,任何人都掉血。 函数定义之前,已经有定义。

先找局部变量,没有再找全局变量

如果在函数中使用global对局部变量进行全局变量声明,就修改了之前的全局变量global a

a = 200

全局变量只要放在函数调用之前就行,最好放在函数定义的前面

为了防止全局变量和局部变量名称相同,建议全局变量改名为g_a = 100

代码架构utf-8

import xxx

全局变量

函数的定义

函数的调用

列表和字典可以当做全局变量直接使用,不用在函数中再用global强调

函数缺省参数和命名参数

不定长参数

*args 特殊照顾 放到函数形参位置,需要特别对待 **kwargs字典类型def test(a,b,c=33,*args,**kwargs):

print(a)

print(b)

print(c)

print(args)

print(kwargs)

test(11,22,33,44,55,66,task=88,done=99)

拆包def test(a,b,c=33,*args,**kwargs):

print(a)

print(b)

print(c)

print(args)

print(kwargs)

A = (44,55,66)

B = {"name":"laowang","age":18}

test(11,22,33,*A,**B)

元祖前面加*,字典前面加**

引用

python中 a = 100  b = a  都是引用,指向存储100的空间而已,用 id(a)  id(b)查看存储地方,相当于便利贴

可变不可变类型

数字、字符串属于不可变类型  列表和字典可变,可以修改  可变类型不允许当key值

递归

函数调用函数自己,一定要考虑结束的情况 类似情况:APP闪退,内存溢出

匿名函数

lambda 参数:式子

func= lambda x,y:x+y

调用格式func(11,22)

匿名函数不需要返回值return,默认返回

交换

a=4 b=5交换两个变量

方式1c = 0

c = a

a = b

b = c

方式2a = a+b

b = a-b

a = a-b

方式3a,b = b,a

num+=num 和num=num+num的区别 num = [100]

num+=num   num指向谁,就直接修改里面的变量

num = num+num  num的指向另外一个变量

字符串的常见操作myStr.find("world") 找不到显示-1

myStr.index("world") 找不到报错

myStr.rfind("world") 从右边找

myStr.rindex("world") 从右往前找

myStr.count("itcast") 找有几个相同的xx

myStr.replace("world,"WORLD")

myStr.replace("world","WORLD",1)

help(myStr,replace)

myStr.split("") 切割,有损耗

myStr.capitalize() 首字母大写

myStr.title() 所有单词首字母大写

myStr.startswith("wang") 判断以某xx开头

myStr.endswith(".txt") 判断文件类型,结尾

myStr.upper() 减少判断的过程

myStr.lower()

ljust

rjust

centerlstrip rstrip strip切掉空格myStr.partition("wor") 根据某个xx把整体分开

myStr rpartition("itcast") 从右边切

file_content.splitlines() 换行切 \n

a.isalpa() 判断纯字母

a.isdigit() 判断纯数字

a.isalnum() 判断是否是字母和数字的组合

issplace 判断空格

join 列表变字符串

names = ["aaa","bb","c"]

a = "_"

a.join(names) 'aaa_bb_cc'

将空格和\t都删掉 切割content.split()就好了 正则表达式也可以切

文件操作流程

打开方式

f = open('test.txt', 'w')

r 只读方式打开,默认方式

w 打开文件只用于写入,如果文件已存在,将其覆盖。

a 打开文件用于追加。新的内容写入到已有内容之后。

rb 以二进制格式打开... wb....  ab....

r+ 用于读写,文件必须存在

w+ 用于读写,文件不存在可以创建

close() 关闭文件  f.close()

文件的读写f = open("haha.txt","w")f.write("haha")文件的读 f.read() f.close()应用

f = open("heihei.txt","w")

content = f.write("sdsdsdsd")print(content)

f.close()不能在写文件里直接读取文件 f.read() x应用 文件备份

#1. 获取要复制的文件名

old_file_name = input("请输入要复制的文件名(需要后缀):")

#2. 打开要复制的文件

f_read = open(old_file_name,"r")

# new_file_name = old_file_name + "[复件]"

position = old_file_name.rfind(".")new_file_name = old_file_name[:position] + "[复件]" + old_file_name[posiiton:]

#3. 创建一个新的文件

f_write = open("xxxx.txt","w")

#4. 从old文件中读取数据,写入到new文件中

content = f_read.read()

f_write.write(cotent)

#5.关闭两个文件

f_read.close()

f_write.close()

读取文件的其他方式

f.readlines()  读出来是列表 每一行占一个内容,按行读取

f.readline()  一读读一行

操作大文件,一般每次读一个单位while True:

content = f_read.read(1024)

if len(content) == 0:

break

f_write.write(content)

文件的定位读写

seek(offset,from) 两个参数 offset偏移量  from 方向 0:文件开头 1:当前位置 2:文件末尾

f.read(1)     看读到哪个位置了:f.tell()    f.seek(0,2)

使用程序完成对文件和文件夹的操作

对文件重命名:  import os      /n os.rename("毕业论文.txt","毕业论文-最终版.txt")

删除文件   import os  /n os.remove("毕业论文.txt")

创建文件夹  os.mkdir("哈哈")

获取当前目录  os.getcwd()

改变默认目录  os .cddir("../")

获取文件目录,看所有文件名字  os.listdir(".")

删除文件  os.rmdir("haha")

批量文件重命名import os

#1. 获取一个要重命名的文件夹的名字

folder_name = input("请输入要重命名的文件夹")

#2. 获取该文件夹所有文件的名字

file_names = os.listdir(folder_name)os.chdir(folder_name)

#3. 对获取的名字进行重命名

for name in file_names:

print(name)os.rename(name,"[京东出品]-" + name) 或者 os.rename("./"+folder_name+"/"+name,"./"+folder_name+"/"+"[京东出品]-"+name)

python三天速成_python学习第三天相关推荐

  1. python 容器类型存放_Python学习笔记三(容器)

    基本数据类型 int Python3中的整数只有int,没有long类型,int最大值如下, Python3中int的最大值的获取 float Python3中float 默认保留一位小数,/ 除法默 ...

  2. python一般的类有三部分组成_Python学习笔记总结(三)类

    一.类简单介绍 1.介绍 类是Python面向对象程序设计(OOP)的主要工具,类建立使用class语句,通过class定义的对象. 类和模块的差异,类是语句,模块是文件. 类和实例 实例:代表程序领 ...

  3. 嘿 Siri,有没有「三天速成深度学习」的课程?

    「嘿 Siri,有没有三天速成 NLP 的课程?」 「很抱歉,我没有找到任何和『有没有三天速成 NLP 的课程?』有关的内容.」 最近老能在朋友圈刷到「X 天学会 Python,从此大专吊打博士生,工 ...

  4. python3常用模块_Python学习笔记三(常用模块)

    Python 学习笔记三 (常用模块) 1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称( ...

  5. python爬虫requests库_Python爬虫(三)Requests库

    什么是Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库.与urllib相比,Requests更加方便,可以节约 ...

  6. python中module用法_Python学习之module用法

    Python学习之module用法 Python学习之module用法 为什么80%的码农都做不了架构师?>>> Python has a way to put definition ...

  7. python输出计算结果_Python学习--02输入和输出、运算符

    命令行输入 x = input("Please input x:") y = raw_input("Please input x:") 使用input和raw_ ...

  8. python从入门到_Python学习路线从入门到上手,如何快速Python学习?

    因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...

  9. python气象绘图速成_Python气象绘图Day-By-Day

    登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 edwardli 于 2017-6-13 10:02 编辑 工作繁事多,先上结果供交流,回头不断细化. 我 ...

最新文章

  1. Objective-C单例
  2. linux awk 多分隔符
  3. Tomcat8.5的【下载、安装、启动、各种问题结局】
  4. C语言判断树是否为求和树(附完整源码)
  5. 每天学点java_反射作用
  6. Java 系列之spring学习--spring搭建(一)
  7. jdk重启后步行_向后介绍步行以一种新颖的方式来预测未来
  8. mysql 排序字段索引吗_Mysql 排序优化与索引使用(转)
  9. Kubernetes详解(十一)——标签与标签选择器
  10. java使用kaptcha生成图片验证码
  11. 改善用户体验 Web前端优化策略总结.........
  12. IT 软件开发最常用英语单词总汇
  13. 程序员的自我修养_之四_曾国藩是如何脱胎换骨的
  14. 2010爆牙笑话第一季!【转】
  15. symfony配置文件之三:routing和路由配置
  16. h5跳转微信公众号文章,小程序,任意站跳转链接制作方法?
  17. 苹果手机密码设置在哪里_手机SIM卡怎么设置密码
  18. 操作系统 文件索引结构
  19. 微信运营,做好微信朋友圈营销的6个技巧和3点注意事项
  20. java计算机毕业设计火车订票系统(附源码、数据库)

热门文章

  1. dhcp 如何每次请求固定地址_无线覆盖:dhcp原理及其实现流程
  2. 袁永福的博客系列文章链接集合
  3. 使用maven启动web项目报错
  4. twig模板基本学习
  5. JavaScript基础知识。
  6. oracle 存储过程 发送WebServie 请求
  7. BZOJ4597 SHOI2016随机序列(线段树)
  8. Python+Flask+MysqL的web建设技术过程
  9. [QA翻译]如何在Storm里拆分stream流?
  10. .net人员用Java 之Java EE