python笔记梳理

解释 面相对象 动态语义

1989诞生Guido天空马戏团

脚本语言   高阶动态编程语言-

交互模式 (程序在内存中缓存,不能保存)  文本模式

#!/usr/bin/python文件路径

源代码 .py      字节代码  编译成 .pyc  (import py_compile)  py_compile.complie.compile("1.py")

优化代码 源代码经优化成 .pyo    (python -O -m py_compile 1.py) linux下的命令行下输入

变量是内存中的一段区域,是数据的引用或标签 比如 a a1 a_1 _a1

变量值更改时标签被移走

整数除法/ 小数部分被截除,使用普通除法可在程序前加上   from _future_ import division

整除符号// 取余符号% 幂乘方运算符号**

2**3   用 函数表示是pow(2,3) 称作内建函数

2*2是表达式  print 2*2是语句

表达式是某件事情  语句是做某件事情

程序主要包括表达式和语句

if 1 ==1:print ‘one equals one‘

模块可以看做Python功能的增强,>>import math  >>math.floor(32.6)  ceil

>>from math import floor >>floor(32.5)不用模块前缀

int float long 不是普通函数,是类型对象,int参数取整的时候自动向下取整

可以通过变量引用函数或者Python中大多数的对象  比如foo=math.floor   foo(32.5)

虚数,负数cmath模块处理

文本模式Ctrl+F5运行

脚本运行  开头pound bang  >>   #!/usr/bin/env python

脚本添加可执行属性 chmod a+x hello.py

"let‘s go"或者‘let\‘s go’转义。单引号双引号

拼接字符串 用加号

值转换成字符串两种机制:1.函数str 2.函数repr,结果字符串转换成合法Python表达式。  int可以将字符串转换成数值。

print repr("hello,world!") >>‘hello,world‘

print str("hello,world") >>hello,world

第三种是:

temp=2

print "the temperature is " +temp打印包含数字的句子,用到反引号,这个句子会出错,应该如下:

print "the temperature is " +`temp`

都是将Python值转换成字符串的三种方法。

name = input("what is your name? ")

print ‘Hello,‘ + name + ‘!‘程序运行出错,换成raw_input(),尽可能使用raw_input函数,它会把所有的输入当做原始数据将其放入字符串中。

三引号可用来文档注释

长字符串: 跨多行,使用三个引号代替普通引号,也可使用三个双引号

原始字符串: 对于反斜线并不会特殊对待,比如路径名C:\now,可用反斜线转义C:\\now。长路径时可用原始字符串,原始字符串不会把反斜线当做            特殊字符,如:print r‘C:\now‘。原始字符串中对引号转义的话输出字符串中包含了所用的反斜线。不能在原始字符串结尾输入反斜线。

Unicode字符串:存储为16位Unicode字符,如: u‘hello,world!‘

转义:反斜线\加上换行符\n,换行符 被转义了,也就是被忽略了,不是它原本的意思,可以在字符串中加入通常情况下不能直接加入的内容

Python首行不能缩进,Python比较严格。

按位与&按位或|。逻辑运算and or‘

Python数据类型:数字 字符串(定义完了不可变) 列表[](单个元素可变)  元组()(包括数字,字符串等不同类型,单个元素不可变)  字典(映射类型,字典对象和单个元素都是可变的,键不可变)

字符串&序列的操作:索引取值a[1:3:2]  切片有开头没结尾,最后一个是步长  a[-1]代表最后一个元素

元组小括号。列表中括号,列表添加元素list.append。字典大括号。

对象和类:属性就是对象描述,方法就是对象的操作

 

流程控制:逻辑真用大写T的True  代码块空四格

循环迭代(重复一个操作指令)  递归

range(len(‘hello‘))获取序列的索引

字典遍历:

break跳出循环,continue跳出本次循环,exit()跳出整个程序。pass占位

for循环次数限制,条件判定循环可用到while

while

函数是语句组:def 函数名(参数列表):下行函数体

函数名多个单词的时候首字母大写,定义的时候括号里的是形参,调用的时候括号里的参数是实参

#coding:utf8(linux)  中文编码  gbk(win)

局部变量与全局变量

在函数内部声明全局变量,用global x

元组当做参数传入,直接传是不行的,参数个数差别。若t=(‘name‘,‘milo‘)元组。f(*t)。

字典传值是f(**d),d={‘name‘:‘milo‘,‘age‘=30},且字典key和形参一一对应

函数返回值默认是none,函数有多个return,只执行第一个

print ‘%s : %s‘ % x,y传入x,y的值

f(x,*args)冗余参数,除了x剩下的在args元组里,,若参数是x=40,需要用字典存储,用f(x,*args,**kwargs)

除了测试,多用return不用print

Lambda匿名函数:

快速定义单行的最小函数,,,省去函数定义部分,精简函数,省去函数命名,,,比如:g = lambda x,y:x*y

冒号前是参数,可以是多个,逗号隔开,冒号后面是返回值,返回的是函数对象

reduce函数   将列表中的数逐次拿出来,用函数f作用在其上  reduce(f,l)

reduce(lambda x,y:x*y , l)   l = range(1,6) = [1,2,3,4,5]

switch语句:多分支结构的程序(Python没提供switch结构,可用字典实现)

首先,定义一个字典, 其次,调用字典的get()获取相应的表达式

operator = {‘+‘:jia,‘-‘:jian,‘*‘:cheng,‘/‘:chu}

def f(x,o,y):

print operator.get(o)(x,y)

f(3,‘+‘,2)

Python内置函数

divmod得到商和去模(余)

pow取幂

ip=192.168.1.1  ip.split(‘.‘)=

zip和map映射序列对,map元素不足补none,第一个参数可以是表达式处理。zip元素不足便补映射该项,不能数据处理

模块:被导入的脚本

导入模块,利用( 模块 . 模块里的函数)调用模块里的函数, 不希望模块函数执行 输入语句print __name__(内置属性)

if __name__ == ‘__main__‘:则为直接调用模块

查找模块优先级:当前路径==》lib==》site-package

python的模块可以按照目录组织为包>>包文件夹,包下__init__ ,包下扩展脚本

正则表达式:内嵌在Python中,通过re模块实现

小型,高度专业化的受限的编程语言

字符串处理   :字符匹配,普通字符元字符

定义正则表达式就是在定义一个字符串

t[io]p就是top 和tip  t[^io]p是对tip和top取反    ^行首 $行尾 *零次或多次,+一次或多次,?又或者没有  +?最小匹配 {m,n}最少m最多n

时间: 2024-10-07 10:21:55

python笔记梳理的相关文章

Python笔记_01列表 和元祖

Python笔记 第一章 列表和元祖 1.通用序列操作 所有序列都可以进行某些特定操作,包括:索引(indexing).分片(slicing).加(adding).乘(multiplying)以及检查某元素是否属于列表成员. 迭代:依次对序列中的每个元素重复执行某些操作. 序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素.也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list

玩蛇(Python)笔记之基础Part3

玩蛇(Python)笔记之基础Part1 一.集合 1.set 无序,不重复序列 {}创建,直接写元素 2.set功能 __init__()构造方法,,使用强制转换就会调用此方法 1 set1 = {'year', 'jiujiujiu'} 2 print(type(set1)) 3 # 创建集合 4 s = set() # 创建空集合 5 li = [11, 22, 11, 22] 6 s = set(li) set 3.集合的基本操作 1 # 操作集合 2 s1 = set() 3 s1.a

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

python笔记 - day7-1 之面向对象编程

python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: sele是什么? self是一个python自动会给传值得参数: 哪个对象执行方法,self就是哪个对象: 构造方法: 类中有一个特殊的方法,__init__,类()自动执行: 面向对象,三大特性: 封装,继承,多态:  

Python笔记之不可不练

如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知>中,尽管本文是自己学习Python过程中的总结,在大神看来,或许略欠火候,希望批评指正,万分感谢! 本文是作者学习成绩的见证,请尊重劳动成果!版权归作者和博客园共有,欢迎转载,但请保留本文出处http://www.cnblogs.com/itred/p/4687287.html ,  作者:itRed

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

整理python笔记

1.python笔记:while.if.for.编码 2.  模拟登陆 3.  python笔记:字符.列表.字典.元祖.数据类型

玩蛇(Python)笔记之基础Part2

玩蛇(Python)笔记之基础Part2 一.列表 1.列表 别的语言叫数组 python牛逼非要取个不一样的名字 1 age = 23 2 name = ["biubiubiu", "jiujiujiu", 22, age] 3 # namecopy = name 4 # namecopy.pop() 5 print(name) 6 # print(namecopy) List 2.列表取值 正常index 从零开始,,取倒数加负号 倒数第一就是[-1] 3.列表

python笔记 - day8

python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/articles/5017742.html 大纲 面向对象三大特性之多态 类成员之静态字段和普通字段 类成员之普通方法和静态方法以及类方法 类成员之属性 类成员之成员修饰符 类成员之特殊成员 其他之isinstance和issubclass 其他之super的应用 实例之自定义有序字典 单例模式 基本异常