热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python基础学习笔记

一些内容来自网络:http:www.cnblogs.comvamei欢迎转载,也请保留这段声明。谢谢!一行简单的代码,速度

一些内容来自网络 :
http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!一行简单的代码 ,速度提升一倍from time import time
t = time()
list =['a','b','is','python','jason','helllo','hill','with','phone','test','dfsd','app','prdfe','ind','basic','onone','baecr','var','bana','dd','wrd']
list = dict.fromkeys(list,True) # 此行代码可令代码提升一倍速度
print list
filter=[]
for i in range(10000000) :for find in ['is','hat','new','list','old','.']:if find not in list:filter.append(find)print "total run time :"
print time() -t #字典和list 的时间复杂度 字典

1 python  命令行模式,小程序,脚本 

#!/usr/bin/env python
print('Hello World!')



chmod 755 hello.py

./hello.py

print

命令行模式: 运行Python,在命令行输入命令并执行。

程序模式: 写一段Python程序并运行。

>>>print a,type(a)    print的另一个用法,也就是print后跟多个输出,以逗号分隔。






2.sequence 序列   ,一组有顺序的对象的集合

序列有两种:tuple(定值表; 也有翻译为元组) 和 list ()


>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)         # s1是一个tuple


>>>s2 = [True, 5, 'smile']                          # s2是一个list


tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。可变是指 : 你可以对list的某个元素赋值: >>>s2[1] = 3.0


序列使用方法 :  序列元素的下标从0开始   s1[i]  ,2. 使用上下限 s1[2:]     

字符串是一种特殊的元组 tuple,因此可以执行元组的相关操作。





3. 运算 pass

4.选择和循环 

if i == 2: 判断是否等于 2 用 双等号

5.函数

def square_sum(a,b): #def,这个关键字通知python:我在定义一个函数。square_sum是函数名。c = a**2 + b**2return c # 返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用return。return可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)。

return a,b,c           # 相当于 return (a,b,c)

基本数据类型的参数:值传递  

表作为参数:指针传递

6.类,对象,方法

class new(object): #括号中为object,说明这个类没有父类

def methond(self,,,):

继承 class old(new):


特殊方法 :
如果你在类中定义了__init__()这个方法,创建对象时,Python会自动调用这个方法。这个过程也叫初始化


class happyBird(Bird):def __init__(self,more_words):print 'We are happy birds.',more_words

summer = happyBird('Happy,Happy!')




类属性和对象的性质的区别  : http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html




print [1,2,3] + [5,6,9]  -->  [1, 2, 3, 5, 6, 9]




重写 减法操作使满足list 

class superList(list):
def __sub__(self, b):
a = self[:]     # 这里,self是supeList的对象。由于superList继承于list,它可以利用和list[:]相同的引用方法来表示整个对象。
b = b[:]        
while len(b) > 0:
element_b = b.pop()
if element_b in a:
a.remove(element_b)
return a

print superList([1,2,3]) - superList([3,4])




7.字典
>>>dic = {'tom':11, 'sam':57,'lily':100}

与List不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用


8.文本文件的输入输出

创建文件 f = open (file nmae ,model)    
f.write(content);

9 module 模块 
在Python 中一个 .py 文件就是一个模块 
模块的引用 

模块包
将功能相似的模块放在同一个文件夹中,构成一个模块包 
Import this_dir.module
但是文件夹中必须有一个__init__.py文件,提醒Python ,该文件夹是一个模块包 ,init 文件可以是空文件 


10 参数传递 

位置,关键字,参数默认值 ,包裹传递,解包裹

11 跟多函数 
range()  
enumerate()

S = 'abcdefghijk'
for (index,char) in enumerate(S):print indexprint char
enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char


zip()   xl = [1,3,5]   yl = [9,12,13]  zip(xl,yl)

12 循环对象 :
迭代器  ,生成器 ,(表推导   L = [x**2 for x in range(10)]    = [ x**2 for (x,y) in zip(xl,yl) if y > 10])

13. 函数对象 
lambda  函数 
func = lambda x,y: x + y
print func(3,4)
等价于
def func(x,y):
    return x+y
函数作为参数传递,传递的是函数 ,而不是函数的返回值 

map() 函数 
map 的第一个参数是函数对象 
re = map((lambda x,y: x+y),[1,2,3],[6,7,9]) ,返回的re 可以转化为list 函数 

filter()函数的第一个参数也是函数对象

reduce() 函数 ,的第一个参数也是函数,但要求这个函数必须能够接受两个参数,Reduce可以累进的将函数作用于各个参数

print reduce((lambda x,y: x+y),[1,2,5,7,9]) ---> (((1+2)+5)+7)+9 实现累加


14 异常处理

try:for i in range(100):print re.next()
except StopIteration:print 'here is end ',iprint 'HaHaHaHa'
抛出异常

raise StopIteration()

15 动态类型

a = 1 a 的类型 是int

a = 'Str' a 的类型是字符串

经验太浅,不知从何说起。个人的Python经验也非常有限。希望能多参与到一些项目,以便能积累经验。

更高:

时间、存储、正则表达式、

http://www.cnblogs.com/vamei/archive/2012/07/23/2605345.html


函数 :
内置函数type(), 用以查询变量的类型。
dir()用来查询一个类或者对象所有属性。 print dir(list)
help()用来查询的说明文档。 help(list)



c:\Python27>python one.py
['a', 'b', 'is', 'python', 'jason', 'helllo', 'hill', 'with', 'phone', 'test', 'dfsd', 'app', 'prdfe', 'ind', 'basic', 'onone', 'baecr', 'var', 'bana', 'dd', 'wrd']
total run time :
74.0370001793

c:\Python27>python one.py
{'a': True, 'prdfe': True, 'wrd': True, 'b': True, 'jason': True, 'dfsd': True, 'python': True, 'is': True, 'dd': True, 'baecr': True, 'var': True, 'phone': True, 'ind': True, 'test': True, 'onone': True, 'hill': True, 'basic': True, 'helllo': True, 'bana': True, 'with': True, 'app': True}
total run time :
49.5829999447


推荐阅读
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
author-avatar
罢脑货_246
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有