python的基础(4)

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)
时间: 2024-09-30 14:33:49

python的基础(4)的相关文章

问道python之基础篇【二】python入门

问道python之基础篇[二] Python入门 1.python的工作过程 python解释器把源代码转换为字节码的中间形式,然后再把它翻译成机器使用的机器语言并运行. 2.pyc文件 2.1.什么是pyc文件 执行python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码. ps:代码经过编译可以产生字节码:字节码通过反编译也可以得到代码. Pyc文件一般由3个部分组成: 最开始4个字节是一个Maig

老少皆宜的密大Python零基础入门

Who are we? MTech是一个由密歇根大学 工程院中 (AE/ME)的中国学生组成的的一个专注于专业知识和技能的分享和交流的俱乐部.我们创建这个俱乐部旨在促进工程专业中国学生之间技术层面的交流,搭建桥梁促进知识的分享和传播.请关注我们的微信公众号("密大MTech")和我们的网站(mtechmae.webstarts.com)了解关于我们的更多信息. What is Python? Python是一种面向对象.直译式的编程语言.它的语法简单,并包含了功能完备的库,适合解决很多

python/HTML基础

---恢复内容开始--- python/HTML基础 HTML: 超文本标记(标签)语言 (以<>扩起来的都是标签语言,放入标签里的不仅仅是文本)一套语言规则 浏览器的渲染顺序是从上到下,从左到右 不同的浏览器,对同一标签可能会有不完全相同的解释(兼容性)至今已经解决的差不多了 .html或htm   静态网页文件扩展名后缀 标签可以进行嵌套,但是不能进行交叉嵌套 HTML 不是一种编程语言,而是一种标记语言,HTML使用标记标签来描述网页 HTML结构: <html></h

Python服务器开发二:Python网络基础

Python服务器开发二:Python网络基础 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip协议等,高层协议如HTTP,telnet协议等,HTTP是TCP/IP的一个子协议. socket是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如

问道python之基础篇【一】 认识python

问道python之基础篇[一] 认识python 1.python的简介 1.1.什么是python? Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python语法简洁清晰,特色之一是强制用空白符作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够用其他语言制作的各种模块(尤其是C++)很轻松地联结在一起. 1.2.python的特点 简单,易学,免费.开源,高层语言,移植性,

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

python 网络基础

服务器客户端模式,服务器存在唯一目的是:等待客户的请求, 一.套接字 unix套接字,AF_LOCAL,地址家族,缩写:AF,AF_LOCAL将代替AF_UNIX,很多时候两者等价 基于网络的套接字,AF_INET,AF_INET6 AF_NETLINK,无连接 python只支持AF_UNIX,AF_NETLINK,AF_INET家族 一种面向连接的:tcp协议,SOCK_STREAM 一种面向无连接的:udp协议,SOCK_DGRAM socket创建套接字,语法如下: socket(soc

Python爬虫基础之requests

一.随时随地爬取一个网页下来 怎么爬取网页?对网站开发了解的都知道,浏览器访问Url向服务器发送请求,服务器响应浏览器请求并返回一堆HTML信息,其中包括html标签,css样式,js脚本等.我们之前用的是Python标准基础库Urllib实现的, 现在我们使用Python的Requests HTTP库写个脚本开始爬取网页.Requests的口号很响亮“让HTTP服务人类“,够霸气. 二.Python Requests库的基本使用 1.GET和POST请求方式 GET请求 1 import re

Python编程基础

Python编程基础 数据类型 None 值 整型 浮点型 布尔类型True,False 字符串 元组 tuple(),有序,不可变例:t = (1,)t = (1,'Hello',1.0,True) 列表 list[],有序,可变 例:l = [1,'Hello',1.0,True] 字典 dict{},键-值对,无序例:d = {65:'A',48:0,'a':97,'Hello':'World'} 操作符 数学操作符 + - * / 除 // 整除 % 取模 ** 指数 比较操作符 ==

Python Tkinter基础控件入门实例

分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get() print 'btn Click and Entry value is %s' % evalue def btn_click_bind