Category Archives: python

python学习笔记之字符串

字符串格式化: format = “hello %s, %s enough for ya?” values = (‘world’,’hot’) print format % values 结果:hello world, hot enough for ya? 注:如果不是在命令行执行,把print后面的用括号括起来 与php类似但函数或方法名不一样的地方: php explode=> python split php trim => python strip php implode => python join

Posted in python | 1 Comment

python学习笔记之字典

字典是最与php的数组相似的序列结构。python的列表只能是以索引数字开头并且顺序递增的序列。字典则可以是以字母为key的序列。 元组一般用圆括号来表示,如(1,2,3) 列表一般用方括号来表示,如[1,2,3] 而字典(dict)则用大括号来表示,如{‘a’:1,’b’:2,’c’:3} 与php不同,php的key,value是用key=>value来表示,python而是用冒号“:”来分隔。 字典可以使用大括号书写键和值或使用dict函数来创建。 dict函数可以指定两个元组或列表来对应创建字典。如: items = [(‘name’,’gumby’),(‘age’,’42’)] d = dict(items) 与列表的区别: k in d(d为字典),查找的是键,而非value,表达式 v in l(l为列表)则用来查找值,而不是索引。 一些字典方法: clear 清除字典。“原地操作”,不会返回值,类似于列表的sort方法 copy方法返回一个相同键值对儿的新字典。浅复制。因为值本身就是相同的,而不是副本。 在副本中替换值的时候,原始字典不受影响。但是如果修改了某个值,原始字典也会改变。避免这个问题的一种方法就是使用深度复制(deep copy)。 from copy import deepcopy deepcopy(d) d.fromkes方法使用给定的值创建新字典。每个键默认对应的是None get方法获取一个不存在的键时,不会报错,会返回None has_key方法相法于表达式k in d items方法将所有的字母项以列表的方式返回。这些列表中的每一项都来自于(键,值)。但是项在返回时没有特殊的顺序。 iteritmes的方法大致相同,但是会返回一个迭代器对象而不是列表。在很多情况下iteritems效率更高。迭代器,相当于decode json之后的对象,而非数组、 keys方法将字典中的键以列表的形式返回。而iterkeys则返回针对键的迭代器。 … Continue reading

Posted in python | Leave a comment

python学习笔记之列表和元组

列表和元组的主要区别在于,列表可以修改,而元组不可以修改。也就是说,如果要根据要求来添加元素,那么列表可能会更好用。序列不能修改的时候,使用元组更合适。 序列 索引:索引就是php数组的键值。从0开始。 分片:php的slice,如果number[3:9] 注意,截取的值是从第4个索引开始。 步长:分片的每次操作的步进长度。不可以是0,要以是负数,即从后往前数。 序列相加:使用+号进行序列的连接操作 两种相同类型的序列才能相加。 用一个数字x乘以一个序列会生成一个新的序列,原来的序列会被重复x次。 None是一个python的内建值,它的确切含义是“什么也没有”,有的语言用null。 成员资格:使用in可以检查一个字符串是否存在一个列表或字符串中。 len可以检查列表或字符串的长度。php使用str_len和count来检查。 list函数,根据字符串来创建列表。如list(‘hello’) 注意:不能为列表一个位置不存在的元素进行赋值 append方法用于在列表末尾追加新的对象。 count方法统计某个元素在列表中出现的次数,如x.count(1) extend方法可以在列表的末尾追加另一个序列中的多个值。 index方法从列表中找出某个值第一个匹配项的索引位置。 insert方法用于将对象插入到列表中。 pop方法从列表中移除数据,默认是最后一个。 remove方法用于移除列表中某个值的第一个匹配项。pop是操作key,remove是操作value reverse将列表中的元素反向存放。 sort方法排序列表中的元素。 sort方法排序后并不会返回列表。所以要得到一个排序的列表要先将x赋值给y,再对y排序。 sort高级排序提供两个参数,第一个参数是必须指定一个函数在排序过程中使用,第二个是正序倒序的bool值 元组 元组与列表一样,也是一种序列。唯一不同的是元组不能修改。 元组大部分时候是通过圆括号括起来的。如(1,2,3),序列则是通过方括号括起来的。 如果要实现只包括一个值的元组,也必须加一个逗号,如(23,) tuple函数:以一个序列做为参数并把它转换为元组。 元组的分片还是元组。就像列表的分片还是列表一样。

Posted in python | Leave a comment

Macos mamp + django 的mysql配置

前情提要:mamp为macos下的一款php+mysql的集成开发环境。 django使用macos的mamp提供的mysql时,不能设置主机为localhost,那样它会自动寻找/tmp/mysql.sock来进行连接,而mamp的mysql.sock的位置是: /Applications/MAMP/tmp/mysql/mysql.sock 所以在django的settings.py中,设置host应该设置为: ‘HOST’: ‘/Applications/MAMP/tmp/mysql/mysql.sock’,

Posted in python | Tagged | Leave a comment