码迷,mamicode.com
首页 > 编程语言 > 详细

python 学习day3

时间:2016-05-26 19:04:30      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:python学习day3

set(无序不重复的序列)

  • 创建两种方式 
    例一:s1 = {1,2,3} 
    例二:s2 = set() ,s3 = set([1,2,3,4,5])

  • 功能 
    s2.add(123) #添加s2集合中123元素 
    s2.clear() #清除内容 
    s2.copy() #浅拷贝 
    s1.difference.s2 #获取s1中存在 s2中不存在的 
    s1.difference_update.s2 #从当前集合中删除和B中相同的元素 
    s1.discard(‘aaa’) #移除指定元素,不存在不保错 
    s1.intersection(s2)#找到s1与s2的交集 
    s1.intersection_update(s2)#取交集并更新到当前集合中“s1” 
    s1.isdisjoint(s2)#如果没有交集,返回True,否则返回False 
    s1.issubset(s2)#判断是否是子子集合,s1 完全包涵s2 那么s2是s1的子集合 
    s1.issuperset(s2)#判断是否是父集合,s2 完全包涵s1 那么s2是s1的父集合 
    s1.pop()#随机删除元素 
    s1.remove(1)#删除指定元素,元素不存在会报错 
    s1.union(s2)#求s1与s2的并集


函数

一 基本机构

1、def关键字,创建函数 
2、函数名 
3、() 固定搭配 
4、函数体 
5、返回值

  • 注: 
    在函数中一旦return ,函数执行过程立即终止 
    如果函数中没有return,默认等于None 
    函数在传递参数时,传递的是变量的引用

二 参数概念

1、def sendmail(xx) #xx 形式参数 
2、ret = sendmail(‘abc’) #abc 实际参数 
3、def sendmail(xx,ss = ‘bb’): #默认参数,默认ss=bb 调用函数时可以不传实际参数 默认参数必须在参数的最后 
4、ret = sendmail(ss=1,xx=2)#指定参数 
5、动态参数

  • “*” 默认将传入的参数全部放在一个元组中

def f1(*args):   #此方法定义形参,args必然会成为一个元组,接受到的所有参数都会添加到此元组中例1:ret = def(‘abc‘,‘aaa‘) #会将abc与aaa全部添加至形参中,成为一个元组例2:ret = def([1,2,3,4,]) #会讲列表当成一个元素传到形参中,包涵在元组里如:([1,2,3,4])例3:ret = def(*[1,2,3,4,]) #会将列表迭代循环,分别写入到元组xx中:(1,2,3,4)
  • “**” 默认将传入的参数全部放入在一个字典中

def f1(**kwargs):例1:ret = def(‘a‘ = 1,‘b‘ = 2) #会将abc与aaa全部添加至形参中,成为一个元组例2:ret = def(**{‘a‘:1,‘b‘:2}) #会将字典循环迭代,赋值到字典中如:kwargs ={‘a‘:1,‘b‘:2}例3:ret = def(key = {‘a‘:1,‘b‘:2}) #会将字典当作value 与key匹配成一个健值对 赋值到kwargs中

6、万能参数 
def f1(args,*kwargs) #即可以接收 单个元素的参数加入到元组, 也可以接收指定参数加入到字典 
注:默认实际参数赋值顺序要与形式参数相同

注: 
在函数中一旦return ,函数执行过程立即终止 
如果函数中没有return,默认等于None

三 全局变量(所有的作用域都可读,定义全局变量必须使用大写)

  • 全局变量定义在函数的外面

  • global 可以在函数中修改全局变量

  • 对于特殊变量:列表、字典,可修改 不可重新赋值


内置函数


  • n = abs(-1) #获取绝对值

  • n = all([1,2,3,4]) #判断所有为真才为真

  • n = all([1,0,[],{}]) #判断只要有真就为真


  • bin(5) #十进制转换二进制

  • oct(5) #十进制转换八进制

  • hex(5) #十进制转换十六进制


  • bool(0) #获取布尔值


s = ‘abc’ 
bytes(s ,encoding=”utf-8”) #字符串转换成字节类型,参数中定义编码类型

t = bytes(s ,encoding=”utf-8”) 
str(t ,encoding=”utf-8”)#字节类型转换成字符串

  • 自定义函数

装饰器


三目运算
if
1 == 1:
   name =
"zhangshaoxiong"
else:
   name =
"zshaox"

name =
"zhangshaoxiong" if  1 == 1  else name == ‘zshaox‘


(a1):
    a1 + f1()

f2 = a1: a1 + f2()


文件操作

  1. with open(‘test.txt‘,‘r+‘)  as f ,open(‘test2.txt‘,‘r+‘) as f2:

  2.    times = 0

  3.    for line in f:

  4.        times += 1

  5.        f2.write(line)

r 读文件内容 
w 写文件内容,先情况原文件 
x 当文件存在报错,不存在创建并写内容 
a 追加文件内容 
rb 以二进制形式打开读取文件 
wb 以二进制打开写入文件,结合bytes(“str”, encoding=”utf-8”)使用

r+ 文件末尾写入内容

f.write() 写入文件 
f.read() 读取文件 默认读取全部文件,如果参数根据打开方式(是否有b) 读取1个指针(字符,字节)位置 
f.close() 关闭打开文件 
f.flush() 将缓冲区文件写入的内容 强制写入到磁盘中 
f.readline() 只读取第一行 
f.truncate() 截断文件,清空指针位置后的所有数据 
for循环文件对象 
for line in f: 
print(line)

f.seek(1) 按字节计算指针调整到第一个位置 
print( f.tell() ) 按字节计算获取当前指针的位置


本文出自 “好记性不如烂笔头” 博客,请务必保留此出处http://zhangshaoxiong.blog.51cto.com/4408282/1783584

python 学习day3

标签:python学习day3

原文地址:http://zhangshaoxiong.blog.51cto.com/4408282/1783584

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!