Python基础第二篇

一、三元运算

if True:
    name='a'
else:
    name='b'
#上面的代码用三元运算表示:
name="a" if True else "b"

二、类中方法查看

  Python中一切事物都是对象,对象由类创建

  type      查看对象类型

  dir(类型名)   查看类中提供的所有功能

  help(类型名)    查看类中提供的功能详细

  help(类型名.方法名)  查看类中某功能的详细

三、类型常用功能

1.整形

abs(x)      #返回绝对值
x+y,x-y,x*y,x/y  #加减乘除
x/y         #取商,浮点数相除保留余数
x//y        #取商,浮点数相除余数为0
x%y         #取余
x**y         #幂次方
cmp(x,y)    #两个数比较,返回True或False相等则为0
coerce(x,y) #强制把两个数生成一个元组
divmod(x,y) #相除得到商和余数组成的元组
float(x)    #转换为浮点型
str(x)      #转换为字符串
hex(x)      #转换为16进制
oct(x)      #转换8进制
int

2.长整型,浮点型和整形基本相似

3.字符串

name='abc'
name.capitalize()    #首字母大写
name.center(20)      # 长度20居中
name.center(20),"*"  # 长度20里居中,其他用*填充
name.ljust(20)       #长度20居左,rjust()居右
name.count('a')      #字符串里a的个数
name.count('a',0,10) #字符串指定区域里a的个数
name.endswith('bc')  #字符串是否以bc为结尾
name.expandtabs(8)  #把tab键转换为空格,默认8个空格
name.find("b")  #找字符b的下标,找不到返回-1,如果有多个只找第一个
name.index("b") #找字符b的下标,找不到报错
name.isalnum()  #判断是否为字母或数字
name.isalpha()  #判断是否为字母
name.isdigit()  #判断是否为数字
name.islower()  #判断是否小写
name.isspace()  #判断是否都是空格
name.isupper()  #是否全变大写
name.lower()    #全变小写
name.upper()    #是否全变大写
name.swapcase() #大写变小写,小写 变大写
name.replace('cc','dd') # 符合的全部替换
name.strip()    #移除空格
name.split("b") #以b分割
#join
li=["aa","bb"]
'*'.join(li)    #把列表的元素用*连接起来
#istitle
name="Aa"
name.title()    #变为标题,标题(所有首字母大写就是标题)
name.istitle()  #判断是不是标题
#partition
name="aaccbb"
name.partition("cc")    #分割成3部分 (aa,bb,cc)
str

format格式化的4种方法

name="i {0},age {1}"           #按顺序
name.format("zhangsan",18)

name="i {0},age {1}"
li=["zhangsan",18]
name.format(*li)    #传列表要加*

name="i {aa},age {bb}"         #按名称
name.format(aa="zhangsan",bb=18)

name="i {aa},age {bb}"
dic={"aa":"zhangsan","bb":18}
name.format(**dic)  #字典加**

translate转换

import string
a1="myis"
a2="1234"
trantab=string.maketrans(a1,a2) #先做一个对应表
strstr="my name is zhang"
print strstr.translate(trantab) #把strstr中a1里的字母替换成a2里对应的数字
print strstr.translate(trantab,"is") #先删除strstr中的"is",在去替换
#输出结果:
#12 na1e 34 zhang
#12 na1e  zhang

4.列表

li=[11,22,33,44]
li.append() #追加
li.count()  #找到出现的次数
li.extend([55,66])  #给原列表进行扩展
li.index() #找字符的下标,找不到报错
li.insert() # 在指定下标位置插入
li.pop() #删除并返回指定下标的值,如果没有指定下标,则返回最后一个
li.remove()# 移除
li.reverse()# 列表顺序反转
li.sort()# 排序
list

5.元组

tup=(1,2,3)
tup.count() #找到出现的次数
tup.index() #找字符的下标,找不到报错

#元组的元素不能被修改
tup=(1,2,3)

#元组的元素里的元组可以修改
tup=(1,2,3,[5,6])
tuple

6.字典

#字典是无序的
dic={'aa':123,'bb':456}
dic.clear()   #清空内容
dic.get('bb') #找不到BB时不会报错 返回的是None
dic.get('bb','No')#找不到BB时不会报错 返回的是No
#items
dic.keys #取出所有key
dic.values #取出所有value
dic.pop("aa")#删除
dic.setdefault("aa",['22']) #如果字典里不存在aa则添加'aa'=‘22’,存在则不变
a={"bb":555,"cc":666}
dic.update(a) #整合到dic字典,a里的key在dic里是否存在,如果存在则把dic里存在的key的value改成a中key对应的values,不存在则直接整合
dict

浅copy,深copy

import copy
a={"a":1,"b":[1,2],"c":3}
b=a
c=a.copy()  #浅copy
d=copy.deepcopy(a)  #深copy
a["d"]=4
print(a)
print(b)
print(c)
print(d)
#输出结果:
#{'a': 1, 'c': 3, 'b': [1, 2], 'd': 4}   
#{'a': 1, 'c': 3, 'b': [1, 2], 'd': 4}
#{'a': 1, 'c': 3, 'b': [1, 2]}      浅copy
#{'a': 1, 'c': 3, 'b': [1, 2]}      深copy

a["b"].pop(0)
print(a)
print(b)
print(c)
print(d)
#输出结果:
#{'a': 1, 'c': 3, 'b': [2], 'd': 4}
#{'a': 1, 'c': 3, 'b': [2], 'd': 4}
#{'a': 1, 'c': 3, 'b': [2]}         浅copy,字典内b对应的数组还是变了
#{'a': 1, 'c': 3, 'b': [1, 2]}      深copy,完全独立
copy

7、集合set

#set是一个无序且不重复的元素集合
a=[1,1,2,2]
set(a) #去重

a=set(range(1,5))
b=set(range(4,7))
a&b #交集
a|b #并集
a^b #反交集
a-b #a在b中没有的
a.issubset(b) #a是不是都包含在b里
a.remove(1) #删除
a.update(b) #b并入a
set

四、解码编码

例:

gbk》》unicode》》utf-8

utf-8》》unicode》》gbk

unicode可以编码(encode)成gbk和utf-8

gbk和utf-8可以解码decode成unicode

a="好"  a是gbk编码

a.decode('gbk') 把gbk解码成unicode

a.decode('gbk').encode('utf-8')解码后在编码成utf-8

原文地址:https://www.cnblogs.com/melonjiang/p/5083461.html