Python笔记---------------[]

列表解析

>>> [(x,y) for x in range(3) for y in range(5)]

[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4)]

生成器表达式(每次只加载一个元素到内存里)

返回可迭代对象

多重继承

(新式类采用广度优先,经典类采用深度优先)

s = (1,2,[2,3])

i = s#前拷贝id(i) == id(s) s的改变会影响i

i = copy.deepcopy(s)  深拷贝

>>> d = [(x,y,z,a,v,c) for x in range(9) for y in range(9) for z in range(9) for a in range(9) for v in range(9) for c in range(9)] 暴力破解

Isinstance(s, str)判断s这个对象是不是’str’object

For i in range(10:

If i == 2:

Continue

Print i

Class Girl(human):

Def __init__(self, name, old):

Print ‘We are People’, name

Switch = {

‘-’:a-b,

‘+’:a+b

}

Print Switch.get(c,’Please input +-*/’)  #用字典的get这样不报错

>>> hello[:3:-1]

'dlrow o'

>>> hello[3:-1]

'lo worl'

>>> hello[4:]

'o world'

>>>

S = 'abcdefghijk'

for i in range(0,len(S),2):

print S[i]   #小技巧

--------------------------------------------

L1 = [1,2,3,3]

L2 = [1, 2, 3, 4]

返回L1中的数值这个数值必须是L2中没有的。

Set(L1).difference(L2)     --------------------------------------------------------

enumerate()

利用enumerate()函数,可以在每次循环中同时得到下标和元素:

S = 'abcdefghijk'

for (index,char) in enumerate(S):    print index    print char

实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char。

with open(file) as myfile:

Print myfile.read() #不用再关闭myfile

------------------------------------------------

class num(object):

def __init__(self, value):

self.value = value

def getNeg(self):

return -self.value

def setNeg(self, value):

self.value = -value

def delNeg(self):

print("value also deleted")

del self.value

neg = property(getNeg, setNeg, delNeg, "I'm negative")

x = num(1.1)

print(x.neg) x.neg = -22

print(x.value)

print(num.neg.__doc__)

del x.neg

装饰器可以对一个函数、方法或者类进行加工。

def decorator(F):

def new_F(a, b):

print("input", a, b)

return F(a, b)

return new_F

# get square sum

@decorator

def square_sum(a, b):

return a**2 + b**2  #square_sum = decorator(square_sum)

Def func(formal_args, i = 0, *args, **kwargs):

print formal_args

print i

print args

print kwargs

以上是不带参数的装饰器

def Func1(F):

def new_fun():

print('func1')

F()

return new_fun

def Func21(F):

def new_fun2():

print('func2')

F()

return new_fun2

@Func1

@Func21

def Func4():

pass

print(0b1110) # 二进制,以0b开头

print(0o10) # 八进制,以0o开头

print(0x2A) # 十六进制,以0x开头

环境配置$export PYTHONPATH=$PYTHONPATH:/home/vamei/mylib

安装非标准包

Python的标准库随着Python一起安装。当我们需要非标准包时,就要先安装。

(1)、使用Linux repository (Linux环境)

这是安装Python附加包的一个好的起点。你可以在Linux repository中查找可能存在的Python包 (比如在Ubuntu Software Center中搜索matplot)。

(2)、使用pip。pip是Python自带的包管理程序,它连接Python repository,并查找其中可能存在的包。

比如使用如下方法来安装、卸载或者升级web.py:

$pip install -i http://mirrors.aliyuncs.com/pypi/simple web.py$pip uninstall web.py$pip install -i http://mirrors.aliyuncs.com/pypi/simple --upgrade web.py

如果你的Python安装在一个非标准的路径(使用$which python来确认python可执行文件的路径)中,比如/home/vamei/util/python/bin中,你可以使用下面方法设置pip的安装包的路径:

$pip install -i http://mirrors.aliyuncs.com/pypi/simple --install-option="--prefix=/home/vamei/util/" web.py

str1 = ['21+23=', '32/8=', '32*12=']

e=[]

for s in str1:

s2 = s + str(eval(s[:-1]))

e.append(s2)

print(e)

随学随用的python-note的更多相关文章

  1. 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)

    小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码) Python 被称为是最接近 AI 的语言.最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用P ...

  2. 2015/8/9 到家了,学完了CodeCademy的Python

    昨天坐了20多个小时的硬座回家.发现在网络信号差的火车上也是学习的好地方.如果你的手机电量不足的话,带上两本书简直是绝配.我在火车上阅读了两百多页的内容,并没有多大的疲累,那样无聊的环境里面能看书学习 ...

  3. python note

    =和C一样,为赋值.==为判断,等于.但是,在python中是不支持行内赋值的,所以,这样避免了在判断的时候少写一个出错. dictionary 的key唯一,值可以为很多类型. list的exten ...

  4. selenuim,qtp,loadrunner,jmeter有何区别,想学个脚本语言python和测试工具应该从哪里入门呢。

    selenium和qtp是 功能的自动化测试,loadrunner和jmeter是性能的自动化测试 selenium要求代码能力比较高,适合用python,QTP一般用VBS,loadrunner一般 ...

  5. 吾八哥学Selenium(一):Python下的selenium安装

    selenium简介 Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mo ...

  6. 零基础学Python--------第11章 使用Python操作数据库

    第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

  7. python note 4

    1.使用命令行打开文件 t=open('D:\py\123.txt','r') t.read() 在python和很多程序语言中""转义符号,要想输出\要么多加一个\写成\ 要么在 ...

  8. python note 17 random、time、sys、os模块

    1.random模块(取随机数模块) # 取随机小数 : 数学计算 import random print(random.random())# 取0-1之间的小数 print(random.unifo ...

  9. python note 16 re模块的使用

    1.re模块(#regex) # 查找 # findall : 匹配所有 每一项都是列表中的一个元素 import re ret = re.findall('\d+','dawdawd154wadwa ...

  10. python note 15 正则表达式

    # 正则表达式 只和字符串打交道 # 正则表达式的规则# 规则 字符串 从字符串中找到符合规则的内容 # 字符组 : [] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的 # [0 ...

随机推荐

  1. linux学习笔记之shell

    本文参考:shell脚本学习指南 本文阅读前提为:知道shell指令,但不知道如何完成一个自动化的shell脚本. 因为编辑本文时,作者也是一个新手.所以,在一些理论上,可能存在错误.如果存在错误,希 ...

  2. LogBoy 之Android Studio控制台输出日志太多清空

    在使用Android studio的时候,有时候会由于手机输出的日志太多,导致控制台瞬间清空,尤其是遇见一些FATAL Exception时候,瞬间控制台就被清空了,根本捕获不到,导致其他调试的日志也 ...

  3. alsa音频驱动科普第一课

    做linux音频编程对alsa应该不陌生. 但是对于刚接触这块技术的同学来说是一件困难的事情.原因在于:网上关于alsa的资料太少了,特别国内的资料更是大部分重复.对于初学者来说特别苦恼. 由于笔者经 ...

  4. Vector, ArrayList, Array

    JAVA新手在使用JAVA的时候大概都会遇到这个问题: JAVA中的Array, ArrayList, Vector, List, LinkedList有什么样的区别?尤其是Vector, Array ...

  5. Nginx学习笔记六Nginx的模块开发

    1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均 ...

  6. Nginx 变量漫谈(五)

    前面在 (二) 中我们已经了解到变量值容器的生命期是与请求绑定的,但是我当时有意避开了“请求”的正式定义.大家应当一直默认这里的“请求”都是指客户端发起的 HTTP 请求.其实在 Nginx 世界里有 ...

  7. GDAL库学习笔记(1):无缝拼接Google卫星图

    开工之前要先了解一下瓦片地图,瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变.实现原理就是,首先确定地图服务平台所要提供的缩放级别的数量N,把 ...

  8. python编辑器对比和推荐

    python编辑器对比和推荐   我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出.有些我没有用过,先不写了.以下是我使用过的python IDE: 除了PythonWin, Visua ...

  9. css案例学习之float浮动

    代码: <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  10. 重新mysql-server

    apt-get purge mysql-server │apt-get purge mysql-common │rm -rf /var/log/mysql │rm -rf /var/log/mysql ...