首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基础随笔

python基础随笔

作者头像
洗尽了浮华
发布2018-01-22 14:15:54
7100
发布2018-01-22 14:15:54
举报
文章被收录于专栏:散尽浮华散尽浮华

一: 作用域

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

二:三元运算

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 #是一个结构化的时间
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档