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

python基础2

时间:2015-11-07 12:13:11      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:

 

一.作用域
变量只有在内存中存在,我们才可以应用这个变量。换句话说,只要声明即可使用

二.三元运算 : name = 值1 if 条件 else 值2
eg1:

name = "alex"
if true:
  name = "sd"
else:
  name = "2d"

  

eg2:
name = 值1 if 条件 值2 (如果条件为真,name=值1,否则,name=值2)
即:name = "sd" if true else "2d"

value = raw_input("plz input :")
name = "sd" if value == "alex" else "good people"
print name

 

三 进制
1.二进制,01
2.十进制,0-9
3.八进制,0-7
4.十六进制,0123456789ABCDE


四.字符串、列表、集合
1.查看列表功能的方法1

>>>li = [11,22]
>>>type(li) #通过type()查看对象类型
list
>>>dir(list) #查看列表类的所有的功能
>>>help list #查看列表类的所有的详细功能
>>>help(list.append) #查看指定列表类的append的功能的详细

  

2.查看列表功能的方法2

>>>dir(list)	
_方法_ #带下划线的,表示内置方法,其执行方法有多种或一种:
方法: #不带下划线的,非内置方法,其执行方式只有一种:对象.方法

  

3.创建数

>>> int(‘11‘,base=2) #创建二进制的数‘11‘
3 
>>> int(‘11‘,base=10) ##创建十进制的数‘11‘
11

  

4. 整型和浮点型
int 和 float
x.__cmp__(y) <==> cmp(x,y) #比较两个数x和y的大小
x.__add__(y) <==> x+y #用于返回x+y的和
x.__abs__() <==> abs(x) #用于返回x的绝对值
x.__divmod__(y) <==> divmod(x, y) #将x/y得到商和余数,用于web网页分页使用
x.__float__() <==> float(x) #将整型x转化为float类型
x.__coerce__(y) <==> coerce(x, y) #强制生成一个元组
x.__hash__() <==> hash(x) #如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数。在字典查找中,哈希值用于快速比较字典的键。两个数值如果相等,则哈希值也相等。
x.__hex__() <==> hex(x) #返回当前数的 十六进制 表示
x.__oct__() <==> oct(x) #返回改值的 八进制 表示
x.__int__() <==> int(x) #转换为整数
x.__str__() <==> str(x) #转换为人阅读的形式,如果没有适于人阅读的解释形式的话,则返回解释器课阅读的形式
x.__repr__() <==> repr(x) #转化为解释器可读取的形式 """

eg:
>>> age.__hex__()
‘0x6f‘ #表示16进制

str:

S.capitalize() -> string #首字母变大写

S.center(width[, fillchar]) -> string #内容居中,width:总长度;fillchar:空白处填充内容,默认无

S.count(sub[, start[, end]]) -> int # 子序列个数(也可以指明start、end--开始、结束位置,不包括结束位置,类似于切片)



S.expandtabs([tabsize]) -> string #将tab转换成空格,默认一个tab转换成8个空格 ,tabsize可以指定空格数量


S.find(sub [,start [,end]]) -> int #寻找子序列位置并返回该位置,如果没找到,则返回-1

S.format(*args, **kwargs) -> string #字符串格式化,动态参数,将函数式编程时细说

""" 子序列位置,如果没找到,则就报错 """
S.index(sub [,start [,end]]) -> int

""" 是否是字母和数字 """
S.isalnum() -> bool


""" 是否是字母 """
S.isalpha() -> bool

""" 是否小写 """
S.islower() -> bool

""" 连接 """
S.join(iterable) -> string

""" 内容左对齐,右侧填充 """
S.ljust(width[, fillchar]) -> string


""" 分割,前,中,后三部分 """
S.partition(sep) -> (head, sep, tail)

""" 替换 """ 找到所有的进行转换
S.replace(old, new[, count]) -> string

""" 分割, maxsplit最多分割几次 """
S.split([sep [,maxsplit]]) -> list of strings

""""转换,需要先做一个对应表,最后一个表示删除字符集合
intab = "aeiou"
outtab = "12345"
trantab = string.maketrans(intab, outtab) #使用之前需要导入string包
str = "this is string example....wow!!!"
print str.translate(trantab, ‘xm‘) #先去str中‘xm‘删除,完了以后再做转换
"""
S.translate(table [,deletechars]) -> string
注意:
import string
string.maketrans(xx,xx)

===>unicode经过编码可以变成utf-8,utf-8经过解码可以变成unicode
===>unicode经过编码可以变成GBK,GBK经过解码可以变成unicode
编码用===>.encode(‘utf-8‘)或.encode(‘gbk‘)
解码用===>.decode(‘utf-8‘)或.

>>> "无"
‘\xe6\x97\xa0‘
>>> str1 = "‘\xe6\x97\xa0‘"
>>> str1.decode(‘utf-8‘) #将utf-8的解码成Unicode
u"‘\u65e0‘"
>>> str1.decode(‘utf-8‘).encode(‘gbk‘) #再将其编码成gbk格式的码
"‘\xce\xde‘"
>>> print str1.decode(‘utf-8‘).encode(‘gbk‘)
‘?‘

  


==========================

首字母大写

eg:
>>> name = "jachy"
>>> name.capitalize()
‘Jachy‘

=============================

字符串居中

>>> name.center(10)
‘ jachy ‘
>>> name.center(13, "-")
‘----jachy----‘

==========================

字符串计数

>>> name.count(‘j‘)
1
>>> name.count(‘j‘,0,3)
1
>>> name.count(‘y‘,0,1)
0

============================

字符串格式化

>>> name = "i am {0},age {1}"
>>> name.format("jachy",21)
‘i am jachy,age 21‘
或
>>> name = "i am {a},age {b}" #指定参数名{a},{b}
>>> name.format(a="jachy",b=21) #给定的参数名赋值
‘i am jachy,age 21‘
或
>>> name = "i am {0},age {1}"
>>> li = ["jachy",21] #可以构造列表/元组,向里面传参数
>>> name.format(*li) #但是列表/元组名上面必须加*
‘i am jachy,age 21‘
或
>>> name = "i am {ss},age {dd}"
>>> dic = {‘ss‘:"jachy",‘dd‘:21} #也可以使用字典,向里面传参数
>>> name.format(**dic) #但是字典必须在字典名前面加2个*
‘i am jachy,age 21‘

===========================

大小写转换

>>> name = "HAHAHHA"
>>> name.lower() #让大写变小写
‘hahahha‘
>>> name.lower().upper() #让小写变大写
‘HAHAHHA‘
或
>>> name = "Hello"
>>> name.swapcase() #将大小写相互转换
‘hELLO‘

 

字符串分割
>>> name
‘Hello‘
>>> name.partition(‘e‘)
(‘H‘, ‘e‘, ‘llo‘)

  

=================================

字符串拼接

>>> ‘jachy‘*5
‘jachyjachyjachyjachyjachy‘

===================================


list:

#返回value在L列表中出现的次数
""" L.count(value) -> integer -- return number of occurrences of value """

#在源列表扩展
""" L.extend(iterable) -- extend list by appending elements from the iterable """
=====================

>>> li
[11, 33, 44]
>>> li.extend([99,22])
>>> li
[11, 33, 44, 99, 22]

======================

#返回第一个出现的值的下标,不出现就返回异常
L.index(value, [start, [stop]]) -> integer -- return first index of value.

#在指定位置插入元素
""" L.insert(index, object) -- insert object before index """

#删除并且返回指定下标的值,
L.pop([index]) -> item -- remove and return item at index
=====================================

>>> li
[11, 44, 99, 22]
>>> age = li.pop()
>>> print age
22

  


==================================

#移除列表中的某一项(若有重复的的value,就移除第一个)
L.remove(value) -- remove first occurrence of value.

#将原来的列表进行翻转
""" L.reverse() -- reverse *IN PLACE* """

#数字按从小到大排序,字母按ASCII码排序
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;


dict:

#移除字典里面的所有项
"" D.clear() -> None. Remove all items from D.

# 根据key获取值,d是默认值 。若key存在就返回value,否则返回none
""" D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """
========================

>>> dic = {1:‘hello‘,2:‘world‘}
>>> dic.get(1)
‘hello‘
>>> dic.get(2)
‘world‘

 

=========================

#浅copy()只能copy第一层 ,用于修改字典多层里使用
""" D.copy() -> a shallow copy of D """

# 深copy
import copy
f = copy.deepcopy(c) #在字典的多层

#按列表中的值为键,返回一个字典
dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
=================

>>> a = {}
>>> a.fromkeys([1,2,3],‘t‘) #以列表中的值为键,NEW一个字典
{1: ‘t‘, 2: ‘t‘, 3: ‘t‘}

》》》c = {}

================

#
""" 所有项的列表形式 """
""" D.items() -> list of D‘s (key, value) pairs, as 2-tuples """

#如果key不存在,则创建,如果存在,则返回已存在的值且不修改 """
""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """

#更新
{‘name‘:‘alex‘, ‘age‘: 18000}
[(‘name‘,‘sbsbsb‘),]
"""
"""
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E present and has a .keys() method, does: for k in E: D[k] = E[k]
If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
"""

""" 所有的值 """
""" D.values() -> list of D‘s values """


#判断是否是字典
>>>type(name_dic) is dict
True


set:

>>>a=[1,2,3,5]
>>>c= set(a)
>>>c

c & d #取两个集合的交集
c | d #去两个集合的并集
c ^ d #取两个的集合的非交集
c -d #取c里面有 ,d里面没有的
d -c #取d里面有,c里面没有的
c.issubset(d) #判断c是否是d的子集
c.issuperset(d) #判断c是否是d的父集

 

python基础2

标签:

原文地址:http://www.cnblogs.com/jachy/p/4944678.html

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