python基础随笔

一: 作用域

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

二:三元运算

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Python变量类型全书

? 糖豆贴心提醒,本文阅读时间6分钟 一、Python 变量类型简介 1、Python中变量的特点: 我们知道,在Python中,变量有如下的特点: (1)...

2457
来自专栏五毛程序员

C++知识点整理——持续更新

2144
来自专栏王磊的博客

es6分享——变量的解构赋值

变量的解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前的写法: var a = 1;...

2837
来自专栏静默虚空的博客

[Java 基础]基础语法

Java代码基本规范 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。 类名:对于所有的类来说,类名的首字母应该大写。如果类...

2038
来自专栏有趣的Python

代码模板:python-基础-2(条件语句)

2 条件语句 在写代码的时候, 往往需要根据某些条件进行判断,并根据判断结果执行不同的分支代码。 2.1 if 语句 elif else c = 1 if c...

2846
来自专栏Python小屋

Python元组与列表的相同点与区别

列表和元组都属于有序序列,支持使用双向索引访问其中的元素、使用内置函数len()统计元素个数、使用运算符in测试是否包含某个元素、使用count()方法统计指定...

2966
来自专栏小古哥的博客园

JavaScript 正则表达式入门教程

正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串 主要分三个部分:基本语法、RegExp对象的方法、JS中支持正则表达式的String对象方法 一、基...

3383
来自专栏编程

Python面向对象1:基础介绍+封装特征

目前有三种编程方式: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封...

2087
来自专栏coder修行路

go基础之--函数和map

在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。 一个指针指示值所保存的位置,不是所...

2947
来自专栏java一日一条

JavaScript 中 this 的使用技巧总结

在 js 中,this 这个上下文总是变化莫测,很多时候出现 bug 总是一头雾水,其实,只要分清楚不同的情况下如何执行就 ok 了。

763

扫码关注云+社区

领取腾讯云代金券