标签:
一: 作用域
对于变量的作用域,只要内存中存在,该变量就可以使用。
二:三元运算
name = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
方式一:
name = ‘ccc‘
if 1==1:
name = ‘sb‘
else:
name = ‘sb‘
方式二:
name = ‘sb‘ if 1==1 else ‘2b‘
实例:
name = raw_input(‘your name: ‘)
reslut = ‘sb‘ if name == ‘alex‘ else ‘nice‘
print reslut
三:进制
python的一切事物都是对象。对象是基于类创建的。
查看list这个类有哪些方法
dir(类型名)
help(类型名)
把详细的内容显示出来
help(类型名.功能名)
通过type()查看对象的类型
实例:
print dir(list)
print help(list)
print help(list.append)
类中的方法分为带下划线和不带下划线的。
带下划线的是内置方法,可能有多种执行方法;
不带下划线的是非内置方法,只有一种执行方法;对象.方法
对于上面那句话的理解
一:数字
i = 10
i1 = int(10)
i2 = int("10",2)
后面的数字表示进制,前面的是进制下对应的值
下面是int中的部分方法
1 #比较大小 2 3 age = 18 4 print age.__cmp__(19) 5 print age.__cmp__(18) 6 print age.__cmp__(17) 7 print cmp(18,19) 8 #取绝对值 9 a = -9 10 print a.__abs__() 11 #相加 12 b = 9 13 print b.__add__(8) 14 #强制生成一个元组 15 c = 7 16 print c.__coerce__(6) 17 #取商和余数,计算分页使用 18 d = 98 19 print d.__divmod__(10) 20 #取商 21 e = 9 22 print e.__div__(3) 23 #转换为浮点类型 24 f = 7 25 f1 = f.__float__() 26 27 print type(f1) 28 29 #哈希值用于在字典中快速找到他的键
二:字符串(str)
1 str_1 = "alex" 2 str_2 = str("alex") 3 #首字母变大写 4 5 print str_2.capitalize() 6 7 #将内容显示在中间;总长度是20;以*填充 8 9 print str_2.center(20) 10 print str_2.center(20,"*") 11 #子序列个数;d的个数;从0-10的位置找 12 name = "dfghjdfghjdfghdfghdfg" 13 print name.count(‘d‘) 14 print name.count(‘d‘,0,10)
###############################################################
编码的转化 gbk==>unicode==>utf-8
encode:编码
decode:解码
1 >>> ‘我靠‘ 2 3 ‘\xce\xd2\xbf\xbf‘ 4 >>> str1 = ‘\xce\xd2\xbf\xbf‘ 5 >>> print str1 6 我靠 7 >>> str1.decode(‘gbk‘) 8 u‘\u6211\u9760‘ 9 >>> str1.decode(‘gbk‘).encode(‘utf-8‘) 10 ‘\xe6\x88\x91\xe9\x9d\xa0‘ 11 >>> print str1.decode(‘gbk‘).encode(‘utf-8‘) 12 13 鎴戦潬
编码解释
###############################################################
1 #以什么结尾;是在返回true 2 str_1 = "alex" 3 print str_1.endswith(‘x‘) 4 #将tab转换成空格,默认一个tab转换成8个空格;转换成1个 5 name = ‘ale x‘ 6 print name.expandtabs() 7 print name.expandtabs(1) 8 #寻找子序列的位置;-1表示没有找到 9 print str_1.find(‘e‘) 10 print str_1.find(‘le‘) 11 print str_1.find(‘s‘) 12 #找到第一个 13 str2 = "alexa" 14 print str2.find(‘a‘) 15 #字符串格式化 16 ##按照下标(有序的) 17 name = "i am {0},age {1}" 18 print name.format("cgt",24) 19 ##使用列表的方式 20 name_list = ["cgt",24] 21 print name.format(*name_list) 22 ##按照名称(无序的) 23 name = "i am {aa},age {bb}" 24 print name.format(aa="cgt",bb=24) 25 print name.format(bb=24,aa="cgt") 26 ##使用字典的方式 27 name_dict = {‘aa‘:‘cgt‘,‘bb‘:24} 28 print name.format(**name_dict) 29 #使用index来查找;找不到就报错,而find是返回-1 30 name = "alex" 31 print name.index(‘a‘) 32 #是否是数字和字母 33 print name.isalnum() 34 #是否是字母 35 print name.isalpha() 36 #是否是数字 37 print name.isalnum() 38 #是否是小写 39 print name.islower() 40 #是否是空格 41 print name.isspace() 42 #是不是标题istitle(标题的格式就是单词的首字母大写) 43 print name.istitle() 44 #设置为标题的格式title 45 print name.title() 46 #是不是大写isupper 47 print name.isupper() 48 #连接join 49 print ‘__‘.join(name) 50 #内容左对齐ljust(宽度,填充) 51 print name.ljust(20,‘*‘) 52 #内容右对齐rjust(宽度,填充) 53 print name.ljust(20,‘&‘) 54 #变成小写lower 55 print name.lower() 56 #变成大写upper 57 print name.upper() 58 #大小写交换swapcase 59 name = "AleX" 60 print name.swapcase() 61 #移除左边的空白lstrip 62 print name.lstrip() 63 #分隔partition(前,中,后) 64 name = "hello cgt" 65 print name.partition("ll") 66 #替换replace(old,new) 67 name = ‘alex‘ 68 print name.replace(‘a‘,‘b‘) 69 #从右边开始找rfind 70 print name.rfind(‘e‘) 71 #以什么开始 72 print name.startswith(‘a‘)
三:列表(list)
1 #定义一个列表 2 3 li = [11,22,33,11] 4 #append添加 5 print li.append(12) 6 #count出现的次数 7 print li.count(11) 8 #extend扩展 9 print li.extend([‘ccc‘,‘ggg‘]) 10 #index返回第一个匹配的值的下标,不存在,报错 11 12 print li.index(11) 13 14 #insert插入,在指定位置插入(位置,内容) 15 16 li.insert(4,‘aa‘) 17 18 #pop删除并返回指定下标的值,如果没有指定在返回最后一个的值 19 li = [11,22,33,11,‘alex‘] 20 name = li.pop(11) 21 name2 = li.pop() 22 #remove移除;指定值,不是指定下标。只删除第一个的值 23 24 li.remove(11) 25 26 #reverse反转列表 27 28 li.reverse() 29 30 #sort排序 31 32 li.sort()
四:元组
元组的元素不能被修改,但是元组的元素的元素是可以修改的
count
index
五:字典
#判断元素的类型是不是某种类型
#例子
#type(name) is list
1 dic = {‘k1‘:‘aa‘,‘k2‘:‘bb‘,‘k3‘:‘cc‘} 2 #清除内容 3 #a = dic.clear() 4 #print a 5 #根据key获取值 6 print dic[‘k1‘] 7 print dic.get(‘k1‘) 8 #如果key值不存在,不使用get的方式会报错;使用get的方式,可以实现设置默认的值,如果这个key存在,则不打印默认值 9 #print dic[‘k4‘] 10 print dic.get(‘k4‘,‘ok‘) 11 #判断是否有key 12 print dic.has_key(‘k5‘) 13 #所有项的列表形式 14 print dic.items() 15 #所有key的列表 16 print dic.keys() 17 ##判断是否有key 18 for k in dic: 19 print k,dic[k] 20 #获取显示出来并在字典中移除 21 ‘‘‘ 22 print dic.pop(‘k1‘) #指定key删除 23 print dic.popitem() #随机的删除 24 25 ‘‘‘ 26 27 dic = {‘k1‘:‘aa‘,‘k2‘:‘bb‘,‘k3‘:‘cc‘} 28 #清除内容 29 #a = dic.clear() 30 #print a 31 #根据key获取值 32 print dic[‘k1‘] 33 print dic.get(‘k1‘) 34 #如果key值不存在,不使用get的方式会报错;使用get的方式,可以实现设置默认的值,如果这个key存在,则不打印默认值 35 #print dic[‘k4‘] 36 print dic.get(‘k4‘,‘ok‘) 37 #判断是否有key 38 print dic.has_key(‘k5‘) 39 #所有项的列表形式 40 print dic.items() 41 #所有key的列表 42 print dic.keys() 43 ##判断是否有key 44 for k in dic: 45 print k,dic[k] 46 #获取显示出来并在字典中移除 47 ‘‘‘ 48 print dic.pop(‘k1‘) #指定key删除 49 print dic.popitem() #随机的删除 50 51 ‘‘‘ 52 53 #copy:浅拷贝和深拷贝、别名的区别 54 55 >>> dic 56 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 57 >>> copy_dic = dic.copy() 58 >>> copy_dic 59 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 60 >>> second_dic = dic 61 >>> second_dic 62 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 63 >>> dic 64 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 65 >>> second_dic 66 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 67 >>> copy_dic 68 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘} 69 >>> dic[‘k4‘]=‘dd‘ 70 >>> dic 71 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘, ‘k4‘: ‘dd‘} 72 >>> second_dic 73 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘, ‘k4‘: ‘dd‘} 74 >>> copy_dic 75 76 {‘k3‘: ‘cc‘, ‘k2‘: ‘bb‘, ‘k1‘: ‘aa‘}
六:集合(是一个无序且不重复的元素集合)
1 >>> a = range(5,10) 2 >>> b = range(7,12) 3 >>> a 4 [5, 6, 7, 8, 9] 5 >>> b 6 7 [7, 8, 9, 10, 11] 8 9 #将a列表set成集合 10 11 >>> c = set(a) 12 >>> c 13 14 set([8, 9, 5, 6, 7]) 15 16 #在a列表追加一个 6,重新set后只显示一个6 17 18 >>> a.append(6) 19 >>> a 20 [5, 6, 7, 8, 9, 6] 21 >>> c = set(a) 22 >>> c 23 set([8, 9, 5, 6, 7]) 24 >>> d = set(b) 25 >>> c,d 26 27 (set([8, 9, 5, 6, 7]), set([8, 9, 10, 11, 7])) 28 29 #取交集 30 31 >>> c & d 32 33 set([8, 9, 7]) 34 35 #取合集 36 37 >>> c | d 38 39 set([5, 6, 7, 8, 9, 10, 11]) 40 41 #取交集的补集 42 43 >>> c ^ d 44 45 set([5, 6, 10, 11]) 46 47 #取差集 48 49 >>> c - d 50 51 set([5, 6]) 52 53 #是否是子集 54 55 >>> e = set([8,9]) 56 >>> e 57 set([8, 9]) 58 >>> e.issubset(d) 59 60 True 61 62 #是否是父集 63 64 >>> e.issuperset(d) 65 False 66 >>> e 67 set([8, 9]) 68 >>> e.pop() 69 8 70 >>> e 71 set([9]) 72 >>> d 73 set([8, 9, 10, 11, 7]) 74 >>> d.remove(9) 75 >>> d 76 set([8, 10, 11, 7]) 77 >>> e 78 set([9]) 79 >>> d 80 set([8, 10, 11, 7]) 81 >>> d.update(e) 82 >>> d 83 84 set([7, 8, 9, 10, 11])
七:时间
有三种形式:时间戳、格式化
1 import time 2 print time.time() 3 #以时间戳的形式存在 4 #1445324355.64 5 print time.gmtime() 6 #time.struct_time(tm_year=2015, tm_mon=10, tm_mday=20, tm_hour=6, tm_min=59, tm_sec=15, tm_wday=1, tm_yday=293, tm_isdst=0) 7 print time.strftime(‘%Y-%m-%d %H:%M:%S‘) 8 #自定义格式 9 10 #2015-10-20 15:00:52 11 12 print time.strptime(‘2014-11-11‘, ‘%Y-%m-%d‘) 13 #将格式化的时间转成一个结构化的时间 14 15 #time.struct_time(tm_year=2014, tm_mon=11, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=315, tm_isdst=-1) 16 17 print time.localtime() 18 #是一个结构化的时间
标签:
原文地址:http://www.cnblogs.com/kevingrace/p/5569749.html