py入门
input()函数将用户输入的内容当做一个字符串类型,这是获得用户输入的常用方式。
print函数可以同时输出多个内容,只需要将它一起放在print
的括号内,并用逗号隔开:
name=input("请输入一个人的名字:")
country=input("请输入一个国家的名字:")
print("hello","world")
函数输出数据后会换行,如果不想换行,需要指定end=""
如print("world" , end="")
print()函数可以直接打印字符串,这是输出字符串的常用方式。
内置数据结构
从是否有序分类:
有序:列表,元祖,字符串
无序:字典,集合
从是否可变来分类:
可变:列表,字典,集合
不可变:元祖,字符串
列表list
[1,2,3]
添加元素:append(在末尾添加元素),insert(在特定下标插入元素),extend(追加另一个列表的所有元素)
删除元素:pop(从末尾弹出元素/弹出特定下标的元素),remove(移除首个值为x的元素),clear
index元素位置
count统计某元素出现的次数
sort()
支持切片操作
元祖tuple
(1,2,3)
引用[],可以理解为简化版的list
>>>tuple1 = (1,2,3,4)
>>>tuple1[0]
1
集合set
{1,2,3}
可以把其他数据类型转变为集合,并且自动去重
集合运算
并集
A.union(B) A∪B={x|x∈A或x∈B}
交集
A.intersection(B) A∩B={x|x∈A且x∈B}
差集
A.difference(B) A-B={x|x∈A,x∉B}
字符串string
"Python"
字典dict
{a:1.b:2,c:3}
字符串
Python 语言中,字符串是用两个双引号""或者单引号''括起来的零个或多个字符。
Python 字符串也提供区间访问方式,采用[N:M]
格式,表示字符串中从N
到M
(不包含M
)的子字符串,其中,N
和M
为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中N
或者M
索引缺失,则表示字符串把开始或结束索引值设为默认值。
注意:字符串中的英文字符和中文字符都算作1个字符。
拼接
str=str1+str2
求长度
l=len(str)
大小写转换
Python 提供了upper()和lower()方法,来对字符串进行大小写转换。其中,upper()
会将字符串中的所有字符都转换为大写,lower()
则将所有字符转换为小写。
str=str.upper()
str=str.lower()
单词首字母大写
title()方法,将字符串所有单词的首字母变成大写,而其他字母依然小写。
str=str.title()
查找
Python 提供了内置的字符串查找方法find(),利用该方法可以在一个较长的字符串中查找子字符串。如果该字符串中,有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引,若没有找到符合条件的子串,则返回-1。
str.find(sub_str)
字符串替换
Python 提供了replace()方法,用以替换给定字符串中的子串。其基本使用语法如下:
source_string.replace(old_string, new_string)
字符串分割
Python 提供了split()方法实现字符串分割。该方法根据提供的分隔符,将一个字符串分割为字符列表,如果不提供分隔符,则程序会默认把空格(制表、换行等)作为分隔符。其基本使用语法如下:
source_string.split('char')
格式化输出
print("{}来自于{}".format(name,country))
如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序
print("%d + %d = %d" % (100,200,300))
%s: 作为字符串
%d: 作为有符号十进制整数
%u: 作为无符号十进制整数
%o: 作为无符号八进制整数
%x: 作为无符号十六进制整数,a~f采用小写形式
%X: 作为无符号十六进制整数,A~F采用大写形式
%f: 作为浮点数
%e,%E: 作为浮点数,使用科学计数法
%g,%G: 作为浮点数,使用最低有效数位
collections模块
使用前需要import
命名元组 (namedtuple)
构造方法:
命名元组的构造函数接受两个参数typename,field_names
如:Point = collections.namedtuple("Point",["x","y"])
这样我们创建好了一个Point类
创建实例:p1 = Point(x = 1,y = 1)
修改元素:p1 = p1._replace(x = 1)
计数器Counter
计数器是一个无序容器,是dict的子类,用于记录各种值出现的次数。它采用键值对的形式存储,要记录的值作为key,这个值出现的次数作为value,value值可正可负。
创建
也可以从list,tuple,dict,字符串等可迭代对象(iterable)创建:
c = collections.Counter(['a','a','b','b','c']) #从list创建
c = collections.Counter(('a','a','b','b','c')) #从tuple创建
c = collections.Counter({'a':2,'b':2,'c':1}) #从dict创建
c = collections.Counter("aabbc") #从字符串创建
增加计数和减少计数
update函数接受一个可迭代对象,然后将这个对象中各种值出现的次数加到计数器中
subtract函数与update函数类似,不过它是从计数器中减去可迭代对象中各种值出现的次数
删除del(c['element']):从计数器中删除元素
TopN操作most_common():返回包含这些元素的list
双向队列 (deque)
双向队列可以调用无参构造函数创建一个空队列,也可以使用可迭代对象创建
在右边增加/删除元素:append(),pop()
在左边增加/删除元素:appendleft(),popleft()
增加操作也可以用extend()/extendleft()实现,用于将一个可迭代对象的所有迭代值,依次加入到队列的右边或者左边
有序字典 (OrderedDict)
和dict类似,但是有序字典中键值对的顺序会保留插入时的顺序。
创建:
data = [('a',1),('b',3),('c',2)]
od = collections.OrderedDict(sorted(data,key=lambda s:s[0]))#按数据中key值的大小排序
print(od)
od = collections.OrderedDict(sorted(data,key=lambda s:s[1]))#按数据中value值的大小排序
print(od)
默认字典 (defaultdict)
默认字典的功能与dict基本相同,但在访问一个不存在的key时,默认字典会提供一个默认值,而不是引发异常。
默认字典的功能与dict基本相同,但在访问一个不存在的key时,默认字典会提供一个默认值,而不是引发异常。
创建:
默认字典的构造函数接受一个工厂函数default_factory作为参数,可以将一个类型名看做是一个工厂函数,比如list,tuple,str等。
这个函数会在要生成默认值的时候无参调用,如果使用类型名作为工厂函数,则这个类型必须要有无参构造函数。
非特殊说明,本博所有文章均为博主原创。
共有 0 条评论