列表推导式
类似 data=[x+1 for x in range(10)]执行结果就是 [1,2,3,4,5,6,7,8,9,10]
还有 even_numbers=[x for x in range(10) if x%==0] 执行结果【0,2,4,6,8】
 
生成器表达式(generator expression)
用法与列表推导式类似
ever_number=(x for x in range(1000) if x%==0) 每次处理一个对象,节省内存
 
字符串string
不可修改,获得的结果都是其新的拷贝,常用函数
 

字符串前面可以有修饰符
比如mystring=u“hello”   u代表Unicode字符
mystring=r'c:\program\file'  r代表raw字符,就是字符串不经过转义等
格式化字符串
>>> '%s is number %d'  %(s[:6],1)
输出list类型s[0]-s[5] is number 1
 
 
 
 
常见异常exception
 

 
函数
定义函数的时候可以直接指定默认值
例如:def check_web_server(host,port=80,path='/')
 
*args 和**kwargs
一般来说,函数调用或者声明中,* 代表元组,**代表字典
例如 check_web_server('127.0.0.1','8000','admin/')
等同于host_info=('127.0.0.1','8000','admin/')
check_web_server(*host_info)
如果host_info=[host:'127.0.0.1',port:'8000',path:'admin/']
那就是check_web_server(**host_info)
 
变长参数也可以使用*args或者**kwargs来传递
例如 def f(*args,**kwargs):
    这样的函数可以按照 f(),f(a,b,c),f(a,b,foo=c,bar=d)来调用
 
django 装饰器

def deco(func):  
    print("deco")  
    return func  
 
@deco  
def foo():  
    print("foo")  

foo()  等同于deco(foo)
执行结果 为
deco
foo
 
面向对象编程
 
class AddressBook(object):
    version=0.1
    def __init__(self,name,phone):
        self.name=name
        self.phone=phone
方法必须带上self对象,python支持动态实例属性,即没有在定义里声明的属性也可以使用
例如 john=AddressBook(‘john’,‘111111’)
john.address='beijing'  也是允许的
 
继承
class EmployeeAdressBook(AdressBook):
     def __init__(self,name,phone,id,social):
            AdressBook.__init__(self,name,phone)
            self.id=id
            self.ssn=social
继承需要显式调用父类方法
 
python 正则表达式
>>> import re
>>> m=re.serch(r'foo',seafood)
>>> print m
<_sre.SRE_Match object at ...>
>>>m.group()
'foo'
    
 
    

python 基础知识整理的更多相关文章

  1. Python基础知识整理

    //占位,缓缓写完 http://www.xuebuyuan.com/2117676.html 迭代器与生成器http://www.cnblogs.com/wilber2013/p/4652531.h ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  4. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

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

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

  6. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  7. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  8. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  9. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

随机推荐

  1. Java方法参数的传递方式

    程序设计语言中,将参数传递给方法(或函数)有两种方法.按值传递(call by value)表示方法接受的是调用者提供的值:按引用调用(call by reference)表示方法接受的是调用者提供的 ...

  2. 模拟赛20181016 dp

    给出1-n的序列插入一个bst: 给出T组询问,包含n,h分别代表点数为n,高度为h的树,求所有插入顺序的合法方案数,模1e9+7 样例输入 1 2  1 样例输出 2 #include<bit ...

  3. MVC系统过滤器 OutputCacheAttribute

    命名空间:  System.Web.Mvc程序集:  System.Web.Mvc(在 System.Web.Mvc.dll 中) 一.MVC缓存简介 缓存是将信息(数据或页面)放在内存中以避免频繁的 ...

  4. 最短路径(Dijkstra算法)

    算法局限性:边的权值不能为负. 需要两个辅助数组dist[],path[],分别记录起点到各点的最短距离和最短路径 算法步骤: 1.根据起点v0初始化dist[]和path[]数组. 2.在剩下的点中 ...

  5. static 关键字 静态成员变量及静态成员函数

    static类成员 类成员类似于C语言的全局变量,但是与全局变量又有所不同,例如,全局变量是可以被任何的用户代码所修改,而且全局变量破坏了对象的封装性. 使用类的 static 成员的优点 使用 st ...

  6. LeetCode第二十题-有效的括号

    Valid Parentheses 问题简介: 给定一个只包含字符 ‘(’ , ‘)’ , ‘{’ , ‘}’ , ‘[’ , ‘]’ 的字符串,确定输入字符串是否有效 有效的条件: 必须使用相同类型 ...

  7. Linux库多重依赖

    源文件: //world.cpp #include <stdio.h> void world(void) { printf("world.\n"); } //hello ...

  8. Cyclone IV FPGA 器件笔记

    LE(逻辑单元)操作模式 1) 正常模式 2)算术模式 可以看到对于Cy4来说正常模式和算术模式的区别就是正常模式有一个4输入LUT没有cout进位输出,而算术模式有两个3输入LUT有cout进位输出 ...

  9. 无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer”。请确保使用限定程序集的名称且该程序集对运行的应用程序可用。有关详细信息,请参阅 http://go.m

    Windows服务中程序发布之后会如下错误: 无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“Syste ...

  10. pyspider

    Linux系统我使用CentOS.对于pycurl安装问题比较好解决,只需要先安装对应的开发包即可.执行如下命令: yum install python-devel curl-devel 分别安装py ...