python学习-基础知识

格式化

>>>num = '%.2f'%3.1415926
>>>num
'3.14'
>>>'I am %s and %d years old'%('xyq',20)	# 字符串的格式化
'I am xyq and 20 years old'
符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f和%E的简写
%p用十六进制数格式化变量的地址

字符串操作

切片:截取字符串的一部分,左闭右开
索引: []、index(‘y’)
查找:返回下标

>>>'xyq'.find('y')
1

替换:

>>>'xyq'.replace('q', 'Q')	# 前一个字符被后一个字符替换
'xyQ'

反转:

>>> 'xyq'[::-1]
'qyx'

r/R:字符串前加上,表示直接按照字面意思使用

成员运算符

in :包含给定字符串返回 True
not int : 不包含给定字符串返回 True

>>>a = 'Hello'
>>>'H' in a
True
内建函数
方法描述
capitalize()将字符串的第一个字符转换为大写
center(width,fillchar)返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格。
count(str,beg=0,end=len(string))返回str在string里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数
bytes.decode(encoding=“utf-8”,errors=“strict”)Python3中没有decode方法,但我们可以使用bytes对象的decode()方法来解码给定的bytes对象,这个bytes对象可以由str.encode()来编码返回。
encode(encoding=‘UTF-8’,errors=‘strict’)以encoding指定的编码格式编码字符串,如果出错默认报一个ValueError的异常,除非errors指定的是’ignore’或者’replace’
endswith(suffix,beg=0,end=len(string))检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内是否以obj结束,如果是,返回True,否则返回False.
expandtabs(tabsize=8)把字符串string中的tab符号转为空格,tab符号默认的空格数是8。
find(str,beg=0,end=len(string))检测str是否包含在字符串中,如果指定范围beg和end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str,beg=0,end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常.
方法描述
isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdigit()如果字符串只包含数字则返回True否则返回False.
islower()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False
isnumeric()如果字符串中只包含数字字符,则返回True,否则返回False
upper()转换字符串中的小写字母为大写
zfill(width)返回长度为width的字符串,原字符串右对齐,前面填充0
isdecimal()检查字符串是否只包含十进制字符,如果是返回true,否则返回false
lower()转换字符串中所有大写字符为小写.
lstrip()截掉字符串左边的空格或指定字符。
maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
max(str)返回字符串str中最大的字母。
min(str)返回字符串str中最小的字母。
replace(old,new[,max])把将字符串中的str1替换成str2,如果max指定,则替换不超过max次。
rfind(str,beg=0,end=len(string))类似于find()函数,不过是从右边开始查找
方法描述
rindex(str,beg=0,end=len(string))类似于index(),不过是从右边开始.
rjust(width,[,fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串
rstrip()删除字符串字符串末尾的空格.
split(str="",num=string.count(str)) num=string.count(str))以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串
splitlines([keepends])按照行(’\r’,’\r\n’,\n’)分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则保留换行符
startswith(substr,beg=0,end=len(string))检查字符串是否是以指定子字符串substr开头,是则返回True,否则返回False。如果beg和end指定值,则在指定范围内检查。
strip([chars])在字符串上执行lstrip()和rstrip()
swapcase()将字符串中大写转换为小写,小写转换为大写
title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())
translate(table,deletechars="")根据str给出的表(包含256个字符)转换string的字符,要过滤掉的字符放到deletechars参数中

列表操作

删除
del list[2]
追加
>>>l.append('xyq')
>>>l
['hello','world','python', 'xyq']

extend与append的区别

>>>l.extend('lily')
>>>l
['hello','world','python', 'xyq', 'l','i','l','y']
>>>l.extend(['lily','hah','hey'])	# 追加一个列表
>>>l
['hello','world','python', 'xyq', 'l','i','l','y', 'lily','hah','hey']
>>>l.append(['nihao','hao'])	# 追加整个列表,追加啥就是啥
>>>l
['hello','world','python', 'xyq', 'l','i','l','y', 'lily','hah','hey',['nihao','hao']]
表达式结果描述
len([1, 2, 3])3长度
[1,2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True判断元素存在
for x in [1, 2, 3]: print(x, end =" ")1 2 3迭代
函数描述
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表

list操作

内置函数

sort
当 l = [‘hello’,‘world’,‘python’, ‘xyq’, ‘l’,‘i’,‘l’,‘y’, ‘lily’,‘hah’,‘hey’,[‘nihao’,‘hao’]] 时会报错,嵌套的列表不支持排序

Traceback (most recent call last):
File"<pyshell#28>",line1,in<module>
l.sort()
TypeError:'<' not supported between instances of 'list' and 'str'

按照字典序排序

>>>l = ['l','h','i']
>>>l.sort()
>>>l
['h','i','l']	

取反

>>>l.reverse()
>>>l
['l','i','h']

字典

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

映射:

>>>dict = {'ming':'hangzhou','li':'nanjing','lucy':'shanghai'}
>>>dict['li']
'nanjing'

没有对应的键值则出现KeyError错误

增加一个键值对或者说修改

>>>dict['jim']='shenzhne'
>>>dict
{'ming':'hangzhou','li':'nanjing','lucy':'shanghai','jim':'shenzhne'}

删除字典元素: del

>>> dict = {'Name': 'Jizhixueyuan', 'Age': 21, 'Class': '101'}
>>>del dict['Name'] # 删除键
>>>'Name' dict.clear() # 清空字典
>>>del dict # 删除字典

获取字典的所有键:dict.key()

>>>l = list(dict.key())
>>>l
['ming','li','lucy','jim']

排序:

>>>l.sort()
>>>l
['jim','li','lucy','ming']

格式化输出:

>>>for each in l:
>>>print(each, dict[each])
jim shenzhne
li nanjing 
lucy shanghai 
ming hangzhou

查找:get,字典的查找get方法,没有则返回预设值而不报错

>>>value = dict.get('good','moring')
>>>value
'moring'
内置函数
方法描述
len(dict)计算字典元素个数,即键的总数。
str(dict)输出字典,以可打印的字符串表示
type(dict)返回输入的变量类型,如果变量是字典就返回字典类型
方法描述
radiansdict.clear()删除字典内所有元素
radiansdict.copy()返回一个字典的浅复制
radiansdict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
key in dict如果键在字典dict里返回true,否则返回false
radiansdict.items()以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys()返回一个迭代器,可以使用list() 来转换为列表
radiansdict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2)把字典dict2的键/值对更新到dict里
radiansdict.values()返回一个迭代器,可以使用list() 来转换为列表
pop(key[,default])删除字典给定键key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。
popitem()随机返回并删除字典中的一对键和值(一般删除末尾对)。

元组tuple

不可变的列表

>>>T = (1, 2, 3, 4)
>>>T.count(1)
1

不可变则不可追加:

>>>T.append(5)
Traceback(most recent call last):
File "<pyshell#58>",line 1,in <module>
T.append(5)
AttributeError:'tuple'objecthasnoattribute'append'

集合

不重复,可进行交,并,差,异或等集合运算

>>>a = {1, 3, 4, 5}
>>>b = {1, 2, 4, 5, 6, 7}
>>> a&b	# 交集
{1, 4, 5}
>>> a|b # 并集
{1, 2, 3, 4, 5, 6, 7}
>>>a-b
{3}
>>>b-a
{2, 6, 7}
>>>a^b
{2, 3, 6, 7}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值