1、lambda函数

  学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,函数同样有简单的表示方法

# ###################### 普通函数 ######################
# 定义函数(普通方式)
def func(a):
return a + # 执行函数
result = func() # ###################### lambda ###################### # 定义函数(lambda表达式)
my_lambda = lambda a : a + # 执行函数
result = my_lambda()

2、python的部分内置函数

  abs,取绝对值

i = abs(-152)
print(i)
152

  all,循环参数,如果所有元素的值都为真,返回真,否则假

a = all([1,1,0])
print(a)
False

  any,只要有一个为真,则为真

a = any([0,0,0,1])
print(a)
True

  ascii,去对象的类中找到__repr__方法并且获取其返回值

class a:
def __repr__(self):
return "hello"
b = a()
c = ascii(b)
print(c)
hello

  bin(),oct(),int(),hex(),分别表示将十进制数字转换为二进制,八进制,十进制,十六进制,下边介绍一种16转10的写法

i = int("b",base = 16)
print(i)
11

  chr(),传入一个数字,它会把数字转为二进制然后获取这个二进制数字在ASCII码中对应的字符或符号

a = chr(77)
print(a)
M

  ord则是字母或字符对应的数字

a = ord("c")
print(a)
99

  查看一个对象是否可执行,如果是返回真,否则假。

def f1():
return 123
r = callable(f1)
print(r)
True

  求俩数字的商和余数

r = divmod(10,3)
print(r)
(3, 1)

  eval,将字符串转为表达式,他是有返回值得

i = eval("1+3")
print(i)
4

  exec是没有返回值的,用来执行比较复杂的字符串表达式

exec("for i in range(10):print(i)")
0
1
2
3
4
5
6
7
8
9

  filter,filter(函数,可迭代对象),以可迭代对象里的元素为函数的参数进行迭代运行,筛选为真的元素

def f1(x):
if x > 22:
return True
else:
return False
r = filter(f1,[11,22,33,44,55])
for i in r:
print(i)
33
44
55

  可结合lambda,写法如下

r = filter(lambda x: x > 22,[11,22,33,44,55])
for i in r:
print(i)

  map,用一个函数对后边的可迭代对象循环进行操作

r = map(lambda x: x + 100,[11,22,33,44,55])
for i in r:
print(i)
111
122
133
144
155

  globals()所有全局变量,locals()获取所有局部变量

  hash()把一个对象转换为哈希值,这样可以节省内存

i = hash("ertt34rwef34tsefw4t3fwef34twefwegt4te4t")
print(i)
6916591429187914356

  iter(),创建一个可迭代对象,然后用next()一个个循环取值,

i = iter([11,22,33,44,55])
r = next(i)
print(r)
r = next(i)
print(r)
r = next(i)
print(r)
11
22
33

  取最大值和最小值的方法

i = [11,22,33,44,55,66,77,88,]
a = max(i)
b = min(i)
print(a,b)
88 11

  求一个数的多少次方

i = pow(2,5)
print(i)
32

  

reversed,把有序 的数据倒序迭代
i = reversed([11,22,33])
for a in i:
print(a)
33
22
11

  round,四舍五入一个数字

i = round(2.3)
print(i)
2

3、文件的操作

open函数,该函数用于文件处理

操作文件时,一般需要经历如下步骤:

  • 打开文件
  • 操作文件

一、打开文件

1
文件句柄 = open('文件路径''模式')

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

打开文件的模式有:

  • r ,只读模式【默认】
  • w,只写模式【不可读;不存在则创建;存在则清空内容;】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【不可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

"b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打开时,读不需要提供编码参数,写则需要,下边是写入的示例

 = open("hehe","wb")
f.write(bytes("zhongg",encoding = "utf-8"))
f.close()

  文件操作的常用方法说明

  def close(self, *args, **kwargs): # real signature unknown
关闭文件
pass def fileno(self, *args, **kwargs): # real signature unknown
文件描述符
pass def flush(self, *args, **kwargs): # real signature unknown
刷新文件内部缓冲区
pass def isatty(self, *args, **kwargs): # real signature unknown
判断文件是否是同意tty设备
pass def read(self, *args, **kwargs): # real signature unknown
读取指定字节数据,如果打开方式为二进制方式就是字节数,如果不是就是字符数。
pass def readable(self, *args, **kwargs): # real signature unknown
是否可读
pass def readline(self, *args, **kwargs): # real signature unknown
仅读取一行数据
pass def seek(self, *args, **kwargs): # real signature unknown
指定文件中指针位置
pass def seekable(self, *args, **kwargs): # real signature unknown
指针是否可操作
pass def tell(self, *args, **kwargs): # real signature unknown
获取指针位置
pass def truncate(self, *args, **kwargs): # real signature unknown
截断数据,仅保留指定之前数据
pass def writable(self, *args, **kwargs): # real signature unknown
是否可写
pass def write(self, *args, **kwargs): # real signature unknown
写内容
pass def __getstate__(self, *args, **kwargs): # real signature unknown
pass def __init__(self, *args, **kwargs): # real signature unknown
pass @staticmethod # known case of __new__
def __new__(*args, **kwargs): # real signature unknown
""" Create and return a new object. See help(type) for accurate signature. """
pass def __next__(self, *args, **kwargs): # real signature unknown
""" Implement next(self). """
pass def __repr__(self, *args, **kwargs): # real signature unknown
""" Return repr(self). """
pass

  读写都会修改指针,关闭文件指针归零。

  可以以迭代的方式去取读比较大的文件,(因为读文件要先读到内存,如果直接read,文件过大会撑爆内存)。

f = open("hehe","r")
for i in f:
print(i)
D:\Users\Administrator\AppData\Local\Programs\Python\Python35\python3.exe D:/Users/Administrator/PycharmProjects/txt/123.py
sferf sfsf sfsf sfwsf

  循环文件内的每个元素

f = open("hehe","r")
a = f.read()
f.seek(0)
for i in a:
print(i)
s
f
e
r
f

  with open的用法

f = open("hehe","r")
with open("hehe","r") as f:
#第二行等同于第一行,区别在于第二行执行完,会自动关闭文件,而第一行则需要f.cloes,with还支持同时打开两个文件。#

python基础(2)的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  10. python基础之编码问题

    python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...

随机推荐

  1. RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片

    下载地址:https://github.com/rickytan/RTImageAssets 此插件用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本,只要拖拽高清图到 @3x 的位置上,然 ...

  2. 全中国的省市县镇乡村数据获取以及展示java源代码

    第一步.准备工作(数据源+工具): 数据源(截止目前最全面权威的官方数据):http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2013/ 爬取数据的工具 ...

  3. JDBC连接SQL Server2008

    在使用JDBC连接数据库之前首先要加载相应数据库的JDBC驱动类,可以通过通用方法Class.forName来加载驱动类.   方式一:使用JDBC-ODBC连接桥 一般安装JDK后会自带JDBC-O ...

  4. ASP.NET服务器控件使用之Reportviewer 报表

    http://blog.csdn.net/oemoon/article/details/7338967 http://www.cnblogs.com/emanlee/archive/2008/09/1 ...

  5. UIView 与 CALayer

    联系: 1. UIView 有个属性 layer,可以返回它的主 CALayer 实例:CALayer *layer = myView.layer 2. 一个 UIView 可以有多个 CALayer ...

  6. 使用NPOI导出excel

    NPOI下载地址http://npoi.codeplex.com/releases 从项目中引用NPOI.bll和NPOI.OOXML.bll 引用命名控件 using NPOI.HSSF.UserM ...

  7. MySQL慢日志监控脚本实例剖析

    公司线上的 MySQL 慢日志,之前一直没有做好监控.趁着上周空闲,我就把监控脚本写了下,今天特地把代码发出来与51博友分享一下. 针对脚本的注解和整体构思,我会放到脚本之后为大家详解. 1 2 3 ...

  8. 免费下载:用于原型设计的 iOS 7 线框图

    André Revin 使用 Illustrator 创建 iOS7 iPhone 5 的样机原型.这是一个像素完美的线框样机,可以帮助超级轻松的打造你的原型.你可以免费下载源文件,并在工作中使用. ...

  9. Ember Charts – 基于 Ember & D3 的图表库

    Ember Charts 是一个基于 Ember.js 和 D3.js 的图表库.它包括时间序列.柱状图.饼图.点图,很容易扩展和修改.这些图表组件代表图表交互性和演示的最佳实践,是高度可定制和可扩展 ...

  10. HT图形组件设计之道(一)

    HT for Web简称HT提供了涵盖通用组件.2D拓扑图形组件以及3D引擎的一站式解决方案,正如Hightopo官网所表达的我们希望提供:Everything you need to create ...