python入门

tianze 2025-1-24 93 1/24

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]格式,表示字符串中从NM(不包含M)的子字符串,其中,NM为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中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等。
这个函数会在要生成默认值的时候无参调用,如果使用类型名作为工厂函数,则这个类型必须要有无参构造函数。

- THE END -

tianze

1月25日10:30

最后修改:2025年1月25日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论