• set集合
  • 函数
  • 三元运算
  • lambda表达式
  • 内置函数1
  • 文件操作

set集合

创建

se = {"123", "456"}  # 直接创建一个集合
se = set(list) # 将列表转化成集合

功能

s = set()  # 创建一个集合
s.add(123) # 添加一个元素
s.clear() # 清除元素,清空
s1 = {11,22,33}
s2 = {22,33,44}
s3 = s1.difference(s2) # s1中存在,s2中不存在 赋值给新的变量s3
s3 = s1.symmetric_difference(s2) # s1存在s2中不存的 和 s2中存在s1中不存的 赋值给新的变量s3
s1.difference_update(s2) # s1中存在,s2中不存在 更新到s1
s1.symmetric_difference_update(s2) # s1存在s2中不存的和s2中存在s1中不存的更新到s1
s1.discard(11) # 移除指定元素,不存在不报错
s1.remove(11) # 移除指定元素,不存会报错
s1.pop() # 移除某个元素,并返回这个元素
s1.intersection(s2) # 取两个的交集 赋值给新的变量s3
s1.intersection_update(s2 ) # 取两个的交集,更新给s1
s1.isdisjoint(s2) # 判断两个集合有没有交集
s1.issubset(s2) # 是否是子序列
s1.issuperset(s2) # 是否是父序列
s3 = s1.union(s2) # 并集
s1.update() # 更新,接受一个可以迭代的对象,可以是list,元组,字符串

函数

创建函数/定义函数

创建函数/函数定义

def关键字,创建函数
函数名
()
函数体
返回值
定义函数,函数体不执行,只有调用函数的时候,函数体才执行
在函数中 一旦执行了 return 函数立即终止
默认的函数return值为 None 函数的参数 形参
实参
形参上可以分为 普通参数
默认参数
指定参数
动态参数
万能参数*ages, **kwarges f(*ages, **kwarges) * 默认将传入的参数,全部放置在元组中f(\*args) f1(*[11,22,33,44]) 会将列表所有的元素赋值进去
** 默认将传入的参数,全部放置在字典中f(\*\*args) f1(**{"k1":"v1", "k2":"v2"}) 会将字典的元素赋值进去
str.format() # 格式化输出 函数的要点 py是顺序执行的,并且函数可以重复定义函数相同名称的函数。调用时会执行最后一个被定义的函数。
函数的参数在传递的时候,到底是传一份引用,还是值. (传递的是引用)
全局变量
全局变量,所有的作用域都可读,函数外定义的变量 *特殊*字典列表,可以修改,不可以重新赋值 函数里默认定义的变量是私有的 全局变量和私有变量同时存在时,默认优先使用局部私有变量 global 变量,能将局部的私有变量定义/表示为全局变量,在作用域里给全局变量*重新赋值*,需要使用global 默认规则,定义全局变量全部大写

三元运算

name = "alxe" if 1 == 1 else "sb"
# 如果 1 == 1成立 那么 name = "alxe"
# 否则 name = 'sb'

lambda表达式

f2 = lambda a1, a2 = 9: a1 + a2 +100

内置函数1

# , None,  "", [], {}, ()是False
abs() # 绝对值
all() # 所有为真,才为真
any() # 任何一个为真,就为真
ascii() # 自动执行__repr__方法
bin() # 十进制转二进制
oct() # 十进制转八进制
hex() # 十进制转十六进制
bool() # 布尔值
bytes() # 字符串转换字节类型
bytearray() #
str() # 转换字符串
open() # 打开文件

补充

utf-8编码,一个汉字是三个字节
gbk编码,一个汉字是两个字节
字符串转换字节类型
bytes(只要转换的字符串, 按照什么编码 )
s = "中国"
n = bytes(s, encoding="utf-8")
print(n) 字节转换成字符串
str(bytes(s, encoding="utf-8"), enconding="utf-8")

文件操作

打开文件

f = open('db', a) # 打开文件
打开文件的模式
r 只读
w 只写
x 如果当文件存在,就报错,不存在,创建并写内容 3.x新添加
a 追加
"+"表示可以同时读写某个文件
r+
w+
x+
a+ f.seek() 主动的把指针调整到某个位置(字节位置)
f.tall() 获取当前指针的位置
在写的时候会覆盖原本的内容 r+b
w+b
x+b
a+b

操作文件

read()  # 无参数读全部;有参数,b,按字节,无b按字符
tell() # 获取当前指针位置(字节)
seek() # 指针跳转指定位置(字节)
write() # 写数据,b 自己,无b,字符
close() # 关闭
fileno() # 文件描述符
flush() # 强刷
readable() # 检查是否可读
seekable() # 是否可以移动指针
readline() # 仅读取一行
writeabke() # 是否可写
truncate() # 截断数据,指针位置后的清空 循环每一行
for line in f
print(line)

用过源码查看功能

关闭文件

f.close()

  

python函数和常用模块(一),Day3的更多相关文章

  1. python函数和常用模块(三),Day5

    递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...

  2. python函数和常用模块(二),Day4

    内置函数2 装饰器 字符串格式化 生成器 迭代器 递归 模块 序列化相关 time模块 datetime模块 内置函数2 callable() # 是否可以被执行,是否可以被调用 chr() # as ...

  3. python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...

  4. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  5. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  6. Python 五个常用模块资料 os sys time re built-in

    1.os模块   os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果.   os.name:返回当前操作系统名称('posix', 'nt', ' ...

  7. Python基础之--常用模块

    Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...

  8. Python学习笔记-常用模块

    1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...

  9. python基础之常用模块以及格式化输出

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

随机推荐

  1. java-cef系列视频第一集:从官方代码编译

    本视频介绍了如何从官方给出步骤编译java-cef代码,生成可运行可移植的发行版. 值得一提的是:截至2016-09-24java-cef代码编译方式有所改变,读者请自行查看bitbucket上关于编 ...

  2. OBS---环境配置之#include <D3DX10.h>报错

    一.先贴错误 因为这个笔记主要记录我如何整好这个OBS源码环境的,给需要的童鞋一个参考 1.1.#include <D3DX10.h>  报错 没有这个 解决方案:把2,3先解决了就水到渠 ...

  3. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL

    作者:泥瓦匠 今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL - Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命 ...

  4. python 跳出嵌套循环方法

    class LoopError(Exception):pass rs = '' try: for i in range(1, 3): print i rs = 'one ' if i == 1: fo ...

  5. Android JNI 之 JNIEnv 解析

    jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/android-ndk-r9d/platforms/android-1 ...

  6. Socket模型详解(转)

    两种I/O模式 一.选择模型 二.异步选择 三.事件选择 四.重叠I/O模型 五.完成端口模型 五种I/O模型的比较 两种I/O模式 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待 ...

  7. 小兔伴伴家庭动物园AR智能早教产品上市

    2016年6月,经过乐卓大家庭所有人的共同努力,公司旗下首款新品——小兔伴伴之<家庭动物园>3D智能学习卡正式面世. 每个孩子都应该在合适的时间去体验丰富的声音.色彩和动作,<家庭动 ...

  8. 在Java中直接调用js代码(转载)

    http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Ja ...

  9. myeclipse 2013 SR2 for(MAC/WINDOWS)破解 注册过程

    前天去官网下载的时候都还只是sr1,结果昨天去看居然有sr2了,之前一直在windows下用 2013,网上的注册机都还很好用.但最近换了mac,下载的sr1我却无论如何都没办法破解,下载了N个版本的 ...

  10. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...