Python学习的第四次总结
修改文件内某行内容
f_read = open('文件名','r',encoding='utf-8')
f_write = open('文件名1','w',encoding='utf-8')
number = 0
for i in f_read :
number +=1
if number == 2 :
i = ' 被修改的内容\n '
f_write.write(i)
f_write.close()
f_read.close()
1、文本文件里存的字符串 # a = str ( 字典名 )
2、转成字典 b = eval ( a )
3、创建多个文件对象
with open('文件名','r',encoding='utf-8') as f , open('文件名1','r',encoding='utf-8') as f1:
a = f.read()
b = f1.read()
print(a,b)
4、查找所有的关键字
from keyword import kwlist
for i in kwlist:
print(i)
5、身份运算符:is、is not
成员运算符:in、not in
6、' he \'s sad ' #转译字符\
7、repr(' ....\n..... ')#方便计算机阅读,换行符\n不会被执行
深浅拷贝
s = [1,[2,3],4,5]
import copy
c = copy.copy(s)
d = copy.deepcopy(s)
s[1][0] = 7
print(s) #[1, [7, 3], 4, 5] 浅拷贝会导致原列表发生改变
print(c) #[1, [7, 3], 4, 5] 浅拷贝可以修改需要的内容
print(d) #[1, [2, 3], 4, 5] 深拷贝不会修改原列表,能完整的反映原列表(克隆)
集合 set(参数只能为一个)
1、集合内的元素必须是可哈希的,不可改变的(整形,字符串,元组)
2、内容是无序的,不可重复的
3、set整体为可改变类型,故不能做成字典
4、set运用
a = set('lyzqyjdf')
print(a) #{'8', '9', '3', '6', '1'} b = ['ly','yzq','DD','ly','yzqqq']
c = set(b)
print(c) #{'DD', 'yzqqq', 'yzq', 'ly'}
5、添加
a = set('lyzqylove')
a.add('3')
print(a) #{'z', 'q', '3', 'y', 'v', 'e', 'o', 'l'}
b = set('lyzqylove')
b.update('ops') #{'e', 'q', 'o', 'l', 'v', 'z', 'y', 's', 'p'}
b.update(['1206','95']) #{'z', 'o', 'y', 'v', 'l', '1206', '95', 'q', 'e'}
print(b)
6、删除
b = set('lyzqylove')
b.remove('y') #{'z', 'e', 'v', 'l', 'q', 'o'}
b.pop() #随机删除
b.clear() #set()
del b #从内存中删除,并报错
print(b)
7、等价
set(' lyyyyzqy ')== set('lyzq')
8、属于
set('ly')< set('lyyzq')
9、联合
a = set('ly') or set('lyzq')
print(a) #{'l', 'y'}交集 a = set('ly') and set('lyzq')
print(a) #{'y', 'q', 'l', 'z'}全集
10、其他
a = set('123')
b = set('124')
print(a.intersection(b))
print(a&b) #{'1', '2'} 交集 a = set('123')
b = set('124')
print(a.union(b))
print(a|b) #{'1', '3', '4', '2'}并集 a = set('123')
b = set('124')
print(a.difference(b)) #{'3'} in a but not in b print(a.symmetric_difference(b))
print(a^b) #{'4', '3'} 双向差集 a = set('123')
b = set('123456')
print(a.issuperset(b)) #False 判断a是否为b的父级
print(a.issubset(b)) #True 判断a是否为b的子级
函数(subroutine、procedure)
一、特点:
1、容易拓展
2、一致性、方便调用、减少代码量
二、函数格式:
def funtion_name() : #函数名命名和变量1命名要求基本一致
内容
funtion_name() # 直接调用,一定要加括号
三、参数
1、必须参数
def add(x,y): #x,y 为形参,不占内存
print(x+y)
add(3,5) #3,5按顺序分别对应x,y
取系统的时间
import time
time_format = '%Y-%m-%d %X'
time_current = time.strftime(time_format)
print(time_current) #2020-07-28 12:04:40
2、关键字参数
def info(name,age):
print('Name: %s'%name)
print('Age: %s'%age)
info(name='LY',age='19')
Name: LY
Age: 19
3、默认参数(写在最后面)
def info(name,age,gender='male'):
print('Name: %s' % name)
print('Age: %s'%age)
print('gender:%s'%gender)
info('ly','19','female') # Name: ly Age: 19 gender:female
info('yzq','19') #Name: yzq Age: 19 gender:male
4、高级版加法器(两者使用的时候要居左、居右,不可混合使用)
def add(*args):
sum = 0
for i in args:
sum += i
print(sum)
return sum
add(1,2,3,4,5) #可以接收无穷多个值,多个值组成一个元组 def add(**kwargs):
for i in kwargs:
print('%s:%s'%(i,kwargs[i]))
add(lover='yzq',hobby='exile') #任意输入多个键值对,处理成字典
四、return
1、结束函数,返回某个添加的对象
2、若不加return,默认返回None
3、如果return后有多个对象,py会自动帮我们处理成元组
4、return后面的语句不会被执行
五、作用域
1、LEGB
x = int(8.9) # bulit-in域
start = 0 # global域
def out():
o_count = 1 #encoding域
def inner():
i_count = 2 #local域
print(i_count)
inner()
out()
2、声明作用域
count = 9
def f():
global count #声明以下的count为global类型而不是encoding类型
count = 0
print(count)
f() def f():
i = 8
def y():
nonlocal i #声明i为nonlocal类型
i = 7
print(i)
y()
f()
****终于总结完了,懒惰是魔鬼!loveyzqqqq~.~
Python学习的第四次总结的更多相关文章
- python学习心得第四章
python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lamb ...
- Python学习笔记(四)
Python学习笔记(四) 作业讲解 编码和解码 1. 作业讲解 重复代码瘦身 # 定义地图 nav = {'省略'} # 现在所处的层 current_layer = nav # 记录你去过的地方 ...
- Python学习系列(四)(列表及其函数)
Python学习系列(四)(列表及其函数) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) Python学习系列(三)(字符串) 一.基本概念 1,列表是什么? ...
- Python学习系列(四)Python 入门语法规则2
Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...
- Python学习笔记(四)函数式编程
高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 ...
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
- python学习【第四篇】python函数 (一)
一.函数的介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以 ...
- Python学习笔记整理(四)Python中的字符串..
字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""&quo ...
- 我的Python学习笔记(四):动态添加属性和方法
一.动态语言与静态语言 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C ...
- Python 学习 第十四篇:命名元组
Python的元组不能为元组内部的数据进行命名,而 collections.namedtuple 可以来构造一个含有字段名称的元组类,命名元组可以通过逗号+字段名来获取元素值: collections ...
随机推荐
- Linux命令篇 - tar 命令
tar GNU `tar' saves many files together into a single tape or disk archive, and can restore individu ...
- 真正“搞”懂HTTPS协议18之TLS特性解析
上一篇,我们讲了TLS的握手过程,我们参照的版本其实是TLS1.2.这个协议是2008年的老协议了,虽然它的价值不言而喻,但是毕竟年纪大了,不太能跟得上时代了.所以,经历了诸多磨难的TLS1.3在20 ...
- .NET Core Redis的简单使用
1.Redis简介 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. 2.Redis主要特点 Redis支持数据的持久化 Redis支持多种数据结构 Redi ...
- Loadrunner性能测试简记
性能测试 模拟多种正常值.峰值以及异常负载条件来对系统的各项性能指标进行的测试. 功能对比性能 功能测试是操作功能.需求规格(正向.逆向).性能测试是测业务场景.满足度(时间.空间).二者相辅相成,都 ...
- [清华集训2016] Alice 和 Bob 又在玩游戏
\(\text{Solution}\) 第一道有向图 \(SG\) 函数的博弈论 有根树,设 \(f[x]\) 表示以 \(x\) 为根子树的 \(SG\) 值 对于分裂的图的 \(SG\) 值为每个 ...
- 【译】.NET 7 中的性能改进(七)
原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好.我已经讨论了一些与架构无关的PR,还有一些是专门 ...
- PostgreSQL大表count方法总结及优化探讨
PostgreSQL的MVCC是直接在原表通过增加新tuple来实现的,决定了它在大结果集count的时候性能不会太理想,因为需要对大结果集做可见性判断将会是一项繁重的工作,比如下面这种SQL: se ...
- LeetCode-2024 考试的最大困扰度
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximize-the-confusion-of-an-exam 题目描述 一位老师正在出一场由 ...
- TensorFlow中使用tf.keras.callbacks.EarlyStopping防止训练过拟合
TensorFlow tf.keras.callbacks.EarlyStopping 当模型训练次数epoch设置到100甚至更大时,如果模型的效果没有进一步提升,那么训练可以提前停止,继续训练很可 ...
- 【C学习笔记】day3-2 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
#include <stdio.h> int main() { double sum = 0; double j = 1.0; for (int i = 1; i <= 100; i ...