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

python的基础(4)

时间:2016-05-10 18:29:44      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

lambda表达式

定义函数(普通方式)
def
f1(): return 123 f2 = lambda : 123 def f3(a1,a2): return a1+a2 定义函数(lambda表达式)
f4
= lambda a1,a2: a1+a2

示例:
def f1(x):
if x % 2 ==1:
return x + 100
else:
return x

ret = map(lambda x: x + 100 if x % 2 ==1 else x, [1,2,3,4])
# print(ret)
for i in ret:
print(i)
运算结果:

101
2
103
4

 内置函数

 1,abs()  

绝对值

参数可以是:负数、正数、浮点数或者长整形

i = abs(-123) #绝对值
print(i)

i = abs(-1.2)
print(i)

i = abs(1.2) 
print(i)

i = abs(-11216.5) 
print(i)

i = abs(11216.5) 
print(i)

运算结果:
123
1.2
1.2
11216.5
11216.5

2,all ()

循环参数

    如果每个元素都为真,那么all的返回值为真

假: 0,None,"",[],(),{},  ==>   总结出;0,None,空值 为假

示例:

all([a, b, c, d])  #列表list,元素都不为空或0
True
all([a, b, ‘‘, d])  #列表list,存在一个为空的元素
False
all([0, 1,2, 3])  #列表list,存在一个为0的元素
False

all((a, b, c, d))  #元组tuple,元素都不为空或0
True
all((a, b, ‘‘, d))  #元组tuple,存在一个为空的元素
False
all((0,1,2,3,4))  #元组tuple,存在一个为0的元素
False
all([]) # 空列表
True
all(()) # 空元组
True

 

3,any()

只有有一个真,则为真

def any(iterable):
   for i in iterable:
       if  i:
           return False
   return True

示例:

any([a, b, c, d])  #列表list,元素都不为空或0
True

any([a, b, ‘‘, d])  #列表list,存在一个为空的元素
True

any([0, ‘‘, False])  #列表list,元素全为0,‘‘,false
False
 
any((a, b, c, d))  #元组tuple,元素都不为空或0
True

any((a, b, ‘‘, d))  #元组tuple,存在一个为空的元素
True

 any((0, ‘‘, False))  #元组tuple,元素全为0,‘‘,false
False
 
any([]) # 空列表
False

any(()) # 空元组
False

 

4,divmod(a,b)函数

divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数

li = divmod(10,3)
print(li)
运算结果:
(3, 1)

5,eval()

可以执行一个字符串形式的表达式

ret = eval("122+45+53")
print(ret)
运算结果:
220


ret = eval("a + 60",{"a":99})
print(ret)
运算结果:
159

6,exec()

可以执行py代码

 exec("print(\"hello, world\")")
运算结果:
hello, world

7,filter()  

过滤器

(函数,可迭代的对象) 

示例:

法一:
def f1(x):
if x >22:
return True
else:
return False

ret = filter(f1,[11,22,33,44])

  for i in ret:
    print(i)

法二:
def
f1(x): return x > 22 ret = filter(lambda x: x > 22, [11,22,33,44]) for i in ret: print(i) 运算结果: 33 44

8,map()

(函数,可以迭代的对象)

示例:

def f(x):
    return x * x

r = map(f, [1, 2, 3, 4, 5, 6])
list(r)

[1, 4, 9, 16, 25, 36]
 

 9,globals()

 获取全局变量  globals()对象的值能修改

def f1():
    name = 123
    print(globals(name))

10,locals()

获取局部变量  locals()对象的值不能修改

def f1():
    name = 123
    
    print(locals(name))

11,isinstance()

判断某个对象是否存在某个类创建的

a = 10

def b():
    pass

print (isinstance(a,(int,str)))
print (isinstance(a,(float,str)))
print (isinstance(b,(str,int)))

class c:
    pass

obj = c()

print (isinstance(obj,(c,int)))

运算结果:
True
False
False
True

12,__repr__

ascii对象的类中找 __repr__,获取其返回值

class Foo:
    def __repr__(self):
        return "hello"
        
obj = Foo()
r = ascii(obj)
print(r)
运算结果:
hello

 13,iter()

迭代方法,依次取值

obj = iter([11,22,33,44])
print(obj)
r1 = next(obj)
print(r1)

r2 = next(obj)
print(r2)

r3 = next(obj)
print(r3)
运算结果:
11
22
33

14,max()

取最大值

li = ([11,22,33,44,1])
r = max(li)
print(r)
运算结果:
44

15,min()

取最小值

li = ([11,22,33,44,1])
r = min(li)
print(r)
运算结果:
1

16,pow(x,y)

求次方

i = pow(2,10)
print(i)
运算结果:
1024

17,sum()

求和

r = sum([11,22,33,44])    
print(r)
运算结果:
110

18,zip()

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表

a = [1,2,3]
b = [4,5,6]

r = zip(a,b)
for i in r:

    print(i)
运算结果:
(1, 4)
(2, 5)
(3, 6)

19,import()

导入

import math       #入导math模块
math.floor()        #调用math模块中的floor()函数



python from使用方法例如:
from math import floor     #导入math模块中的floor函数方法
floor()                         #调用floor()函数方法

20,sort()

排序

li = [11,33,55,22,55,]
print(li)
li.sort()
print(li)
运算结果:
[11, 33, 55, 22, 55]
[11, 22, 33, 55, 55]

 21,flush()

刷新内部缓冲区

示例:

f = open("foo.txt", "wb")
print ("Name of the file:hello word "), f.name

f.flush()

f.close()
运算结果:
Name of the file:hello word 

22,read()

读取文件内容   (给read加上一个参数,指定要读取的最大行数)

示例:

f = open("a_f.dat","rb")
data = f.read(10000)
f.close()

23,readline

readline()方法的语法:

 

进制

r = bin(11) #二进制
print(r)


r = oct(8) #八进制
print(r)


i = int(10)  #十进制
print(i)


r = hex(14)  #十六进制
print(r)

运算结果:
0b1011
0o10
10
0xe

进制转换

示例:

int(10)
i = int(0b11,base=2) #二进制转换十进制
print(i)

i = int(0o11,base=8) #八进制转换十进制
print(i)

i = int(0xe,base=16) #十六进制转换十进制
print(i)

运算结果:
3
9
14

 

字节,字符串

示例:

#bytes("xxxx",encoding="utf-8")

i = bytes("你好,世界",encoding="utf-8")
print(i)

运算结果:
b\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c

chr() 数字转换成字符 # 只适用在ascii中

示例:

c = chr(253)
print(c)
运算结果:
y

ord() 字符转换成数字# 只适用在ascii中

示例:

c = ord(x)
print(c)
运算结果:
120

 

随机验证码:

import random
temp = ""
for i in range(6):
    #生成 0—4的随机数
    num = random.randrange(0,4)
    # 如果随机数是1 或 3,那么就在验证码中生成一个 0—9的随机数字
    #否则,验证码中生成一个随机字母
    if num == 3 or num== 1:
        rad2 = random.randrange(0,10)
        temp = temp + str(rad2)
    else:
        rad1 = random.randrange(65,91)
        c1 = chr(rad1)
        temp = temp + c1
print(temp)

 

文件操作

一,打开文件

二,操作文件

三,关闭文件

 

open (文件名,模式,编码)

格式:

f =open("文件名""r")  # r  只读模式

data = f.read()

f.close()

peint(data)

打开文件的模式:

普通方式(python内部自动转换)

1)只读模式,r

f = open("ha.log","r")
f.write("kdjaskjskasdksjdaksj")
f.close

2)只写模式,w 【不可读,文件不存在则创建;存在则清空文件内容再写入】

f = open("ha1.log","w")
f.write("sdhjf43dk3rfk")
f.close()

3)只写模式,x 【不可读;文件不存在则创建;文件存在则报错】

f = open("ha2.log","w")
f.write("dahhadiu3528")
f.close()

4)追加模式【不可读;不存在的则创建;存在则追加到末尾】

f = open("ha2.log","a")
f.write("666jjjksk")
f.close()

 

以字节的方式(二进制的方式)“b”

1)只读模式,rb 【文件不存在则创建;文件存在则清空内容】

f = open("ha.log","rb")
data = f.read()
f.close()
print(data)
str_data = str(data, encoding="utf-8")
print(str_data)

2)只读模式,wb 【文件不存在则创建;存在则清空内容】

f = open("ha.log","wb")
str_data = "中国人"
bytes_data = bytes(str_data, encoding="utf-8")
f.write(bytes_data)
f.close()

 

同时读写文件 “+”

1)r+ 开始向后读,写时追加,指针调到最后

 

2)w+,先清空,再写,才可以读。写,指针到最后

 

3)x+如果文件存在则报错

 

 

4)a+,打开的同时指针已经移到最后,追加在最后

 

 

f.tell()#获取指针的位置
f.seek(num) #调整指针位置
f.write("")#写入
f.read("") # 读取

 

关闭文件

with open ("ha.log","r") as f :
f.read()

同时打开两个文件(2.7以上版本)

with open(log1,r) as obj1, open(log2, r) as obj2:
    pass



with open(源文件,r) as obj1, open(新文件, w) as obj2:
    for line in obj1:
        obj2.write(line)

 

python的基础(4)

标签:

原文地址:http://www.cnblogs.com/kongqi816-boke/p/5476011.html

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