码迷,mamicode.com
首页 > 编程语言 > 详细

python基础随笔

时间:2016-06-08 14:05:41      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

一: 作用域

对于变量的作用域,只要内存中存在,该变量就可以使用。

二:三元运算

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 #是一个结构化的时间

python基础随笔

标签:

原文地址:http://www.cnblogs.com/kevingrace/p/5569749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!