Python-老男孩-01_基础_文件IO_函数_yield_三元_常用内置函数_反射_random_md5_序列化_正则表达式_time
Python2.7
缩进统一;
约定 常量 大写 , 变量 小写
判断一个变量在内存中的地址,也能看出是不是一个值 id()函数
>>> x = 'abc' >>> y = x >>> x = 'def' >>> >>> id(x) 21306656 >>> id(y) 6214752l
良好的编程风格,我们在命名多个单词的变量时 可以是 task_detail taskDetail TaskDetail 都行,但要保持一致.
True False
type()函数,判断数据的类型
>>> type('abc')
<class 'str'>
>>> type(123)
<class 'int'>
用户交互 input() raw_input()
row_input() ,无论输入什么都当字符串处理;
input(), 自动转成输入值的类型,原生格式是什么类型就当什么类型处理,如果是变量就在程序中找这个变量
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
# 下面代码在Python2.7和Python3.5中都没有运行起来
# 其中Python3.5是不支持 raw_input
# 其中Python2.7是不打印结果
name = raw_input("Please input your name:")
age = input("age:") # 这里使用 input,为了看不同的效果
job = raw_input("job:")
# 采用格式化形式输出 '''除了作多行注释,还有格式化输出的功能
# %s表示字符串 %d表示整数 %f 表示浮点数
print '''
Information of %s is:
Name: %s
Age : %s
Job : %s
''' % (name,name,age,job)
在Python中存在 while else、 for else的语法
count = 0
while count<10000000:
count +=1
else:
print('loop',count)
IO 文件操作
strip()去掉字符串中的指定的前后字符 ,不指定就会去掉前后空白
# python2.7的语法使用 file()
#python 3.5语法是使用 open()
# r以只读方式打开文件、w以只写方式打开文件、a以追加方式打开文件
f1 = file('path','r')
f2 = file('path','w')
f3 = file('path','a')
# 读一行
f1.readline()
#循环按行读
for line in f1.readlines():
line = line.strip('\n').split[':'] #去掉换行符,再使用冒号分割
print line
# 写文件
f2.write("new line") #write()不会立刻写到硬盘而是在缓冲区中,可以使用flush()强制写入
f2.flush()
#追加方式写入文件,也是直接使用 write()函数写入
#关闭文件
f1.close()
f2.close()f3.close()
------------------------------------------------------------------------------readline()是通过next()实现的,next读到最后会报 StopIteratorErrorreadlines()是读到列表中read()是一次性读出来,结果是字符串形式
seek(0) 跳到文件开头tell() 当前的文件指针位置
更多可以参考之前我学习的 小甲鱼笔记 http://www.cnblogs.com/yangw/p/4964729.html
以二进制方式读 我们可以使用 file('path','rb')
seek() tell()的使用场景 【在分析特别大的日志文件时,每隔10分钟分析一次,只需要分析新增加的内容 用这个就特别方便】
__init__.py 至关重要,区分文件夹和包的标志
__name__ 判断是否为主文件 if __name__=='__main__'
__file__ ,当前文件的路径
__doc__ 当前文件的描述

函数参数的可变性 当传递的参数用一个 * 标识时,会封装成列表进行处理,当传递的参数用两个*标识时,会封装成字典的形式进行处理

with打开文件

一旦一个函数中有 yield,它就是生成器 , yield相当于return,函数遇到yield就会返回yield后面的值,函数处于暂停状态;
生成器要想继续执行,必须使用迭代.
应用场景 写多线程时可以作为线程池

三元运算 result= 'a' if x>y else 'b'

匿名函数 lambda , 只能调用一次

一些常用的内置函数
help()
dir() 以列表的形式列出当前模块中的各个对象
vars()以字典的形式列出当前模块中的各个对象
type()
id()
-----------------------------------------------
cmp(a,b) 比较
abs(-9) 绝对值
bool() 返回bool值
divmod(9,4) 返回商和余数 #(2,1)
-----------------------------------------------
max() #print(max([11,45,23,76,1]))
min()
sum()
pow(2,10) # 1024
-----------------------------------------------
len() #print(len('中国')) 6
all() #所有的是真才是真 all([1,4,6,0]) False
any() #有一个为真就是真 any([0,0,0,1]) True
-----------------------------------------------
print(chr(65)) # A
print(ord('a')) #97
print(hex(2)) #0x2
print(bin(2)) #0b10
print(oct(2)) #02
-----------------------------------------------
s = "I'm {0},go shopping,{1}"
print(s.format('yangw','today')) # I'm yangw,go shopping,today
enumerate()函数

map() ,原来列表中有几个值还是返回几个值

filter(), 只返回函数返回真的值

reduce(),可以用来累计求和求积

zip()

eval()

反射: 通过字符串的形式导入模块,并以字符串的形式执行函数
__import__(str)


***反射详解二:***

随机数模块 random

random 随机数生成的模块
下面是生成验证码的例子

Md5的生成方式

序列化: 应用在Python与Python之间文件传输时.实现了两个Python程序之间内存数据的交换
pickle方式的序列化,它是Python独有的,除了常规数据类型能序列化,其它的类,对象也能被序列化

pickle 序列化到文件中

JSON序列化: 只能序列化常规类型,其它语言也是支持json格式数据的
json序列化的用法与pickle完全一样,方法名都是一样,不过就是 import json

正则表达式 re



time()模块
时间的三种表达形式 时间戳形式 time.time() 以元组形式显示 time.gmtime() 以格式化字符串形式显示 time. strftime()
http://www.runoob.com/python/python-date-time.html

时间格式之间可以转化,其中 元组形式的是桥梁

Python-老男孩-01_基础_文件IO_函数_yield_三元_常用内置函数_反射_random_md5_序列化_正则表达式_time的更多相关文章
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
- Python 基础之常用内置函数
1.常用内置函数 (1)abs 绝对值函数 intvar = -9 res = abs(intvar)print(res) (2)round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数 ,则 ...
- Python基础(二)——常用内置函数
1. 常用内置函数 (1)isinstance(object, classinfo) 用于判断一个对象是否为某一类型. object 是实例对象 classinfo 是基本类型如 int, floa ...
- Python的常用内置函数介绍
Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...
- Python函数04/生成器/推导式/内置函数
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生 ...
- python中常用内置函数和关键词
Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- PYTHON语言之常用内置函数
一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...
- 学习Python函数笔记之二(内置函数)
---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...
- python之迭代器 生成器 枚举 常用内置函数 递归
迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f ...
随机推荐
- Ignite Web 控制台(使用官方免费部署的控制台)
前提: 假设已安装ignite,并且安装路径为:/usr/apache-ignite-fabric-2.1.0-bin 1.下载Web Agent 打开链接:https://console.gridg ...
- Ubuntu 简单安装 Docker
服务器版本 Ubuntu 16.04 LTS. 1. 普通安装 安装命令: 更新程序包索引,以及添加使用 HTTPS 传输的软件包以及 CA 证书. $ sudo apt-get update $ s ...
- 关于Alipay支付宝接口(Java版)
支付宝开发文档:https://b.alipay.com/order/techService.htm 1.alipay 双功能支付简介 2.alipay 提交支付订单 3.alipay 整合双功能支付 ...
- ASP.Net Core WebApi几种版本控制对比
版本控制的好处: (1)助于及时推出功能, 而不会破坏现有系统. (2)它还可以帮助为选定的客户提供额外的功能. API 版本控制可以采用不同的方式进行控制,方法如下: (1)在 URL 中追加版本或 ...
- FileProvider解决FileUriExposedException
FileUriExposedException 在给app做版本升级的时候,先从服务器下载新版本的apk文件到sdcard路径,然后调用安装apk的代码,一般写法如下: private void op ...
- Windows noinstall zip 安装MySQL。
听完数据库老师的课,想在Windows下通过命令行的方法安装MySQL5.7,于是开了这个坑,终于把这个坑填上了. 第一步:下载MySQL 的noinstall zip ,点击该链接下载,或者复制链接 ...
- select 标签选中 jquery
网上很多错误 的[text ='xxx'] ,我晕. option 标签没有 text 属性.所以[]选取不到. 正确的: $("#yearCardTypeState option:cont ...
- NHibernate教程(14)--使用视图
本节内容 引入 1.持久化类 2.映射文件 3.测试 结语 引入 在数据库操作中,我们除了对表操作,还有视图.存储过程等操作,这一篇和下篇来学习这些内容.这篇我们来学习如何在NHibernate中使用 ...
- web服务的三大主流架构
1.远程过程调用 2.服务导向架构 3.表述性状态转移 今天在自学Spring架构时貌似发现 rest的表现.与RPC方式的最大差别,SOA方式更加关注如何去连接服务而不是去特定某个实现的细节.而re ...
- 【深入Java虚拟机】之七:Javac编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理 ...