Python基础语法入门篇(二)(上)

简介: Python基础语法入门篇(二)

1. 数据类型高级


1.1 字符串高级


字符串的常见操作包括:


获取长度:len         len函数可以获取字符串的长度。


查找内容:find         查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值(从0开始计算),如果不存在,则返回-1.


判断:startswith,endswith   判断字符串是不是以谁谁谁开头/结尾


计算出现次数:count      返回 str在start和end之间 ,在字符串中出现的次数


替换内容:replace       替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。


切割字符串:split       通过参数的内容切割字符串


修改大小写:upper,lower    将字符串转为大写或小写


空格处理:strip        去空格


字符串拼接:join        字符串拼接

str = "a"
print(str.join('hello'))
#haealalao
#重点解释一下join,会把指定字符串添加到字符串的每个字符的中间(第一个字符和最后一个字符不加)。一般用的不多


1.2 列表高级


列表的增删改查


添加元素


添加元素有一下几个方法:


append 在末尾添加元素


insert 在指定位置插入元素


extend 合并两个列表


append


append会把新元素添加到列表末尾

name_list = ['张三', '李四']
name_list.append('王五')
print(name_list)
#['张三', '李四', '王五']


insert

insert(index, object) 在指定位置index前插入元素object
name_list = ['张三', '李四']
name_list.insert(1, '小明')
print(name_list)
#['张三', '小明', '李四']


extend


通过extend可以将另一个列表中的元素逐一添加到列表中

name_list = ['张三', '李四']
name_list2 = ['小丽', '小王']
name_list.extend(name_list2)
print(name_list)
#['张三', '李四', '小丽', '小王']


修改元素


我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。

name_list = ['张三', '李四']
print("修改前:%s" % name_list)
name_list[1] = '小丽'
print("修改后:%s" % name_list)
#修改前:['张三', '李四']
#修改后:['张三', '小丽']


查找元素


所谓的查找,就是看看指定的元素是否存在,主要包含一下几个方法:


in 和 not in

python中查找的常用方法为:


in(存在),如果存在那么结果为true,否则为false

not in(不存在),如果不存在那么结果为true,否则false

name_list = ['张三', '李四']
if '王五' in name_list:
    print('存在')
else:
    print('不存在')
#不存在


not类似,只不过取反


删除元素


列表元素的常用删除方法有:


del:根据下标进行删除


pop:删除最后一个元素


remove:根据元素的值进行删除


del

name_list = ['张三', '李四', '小丽']
del name_list[1]
print(name_list)
#['张三', '小丽']


pop

name_list = ['张三', '李四', '小丽']
name_list.pop()
print(name_list)
#['张三', '李四']


remove

name_list = ['张三', '李四', '小丽']
name_list.remove('张三')
print(name_list)
#['李四', '小丽']


1.3 元组高级


Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。


1.3.1 访问元组


tuple1 = (1, 2, 3)
print(tuple1[1])  #2


python中不允许修改元组的数据,包括不能删除其中的元素。


1.3.2 定义只有一个数据的元组


定义只有一个元素的元组,需要在唯一的元素后写一个逗号

tuple1 = (1)
print(type(tuple1))  #int
tuple2 = (1,)
print(type(tuple2)) #tuple


1.4 切片


切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。


切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]


注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。

# 索引是通过下标取某一个元素 
# 切片是通过下标去某一段元素
s = 'Hello World!'
print(s)
print(s[4])  # o 字符串里的第4个元素
print(s[3:7])  # lo W 包含下标 3,不含下标 7
print(s[1:])  # ello World! 从下标为1开始,取出 后面所有的元素(没有结束位)
print(s[:4])  # Hell 从起始位置开始,取到 下标为4的前一个元素(不包括结束位本身)
print(s[1:5:2])  # el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)


1.5 字典高级


1.5.1 查看元素


除了使用key查找数据,还可以使用get来获取数据

person = {'name': '张三', 'age': 18}
# 不可以通过 .属性,获取值
print(person['name'])
# print(person['email'])  # 获取不存在的key,会发生异常
print(person.get('name'))
print(person.get('email'))  # 获取不存在的key,会获取到None值,不会出现异常
print(person.get('email', '123@126.com'))  # 获取不存在的key, 可以提供一个默认值。


1.5.2 修改元素


字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

person = {'name': '张三', 'age': 18}
person['name'] = '小丽'
print('修改后的值是:%s' % person)  #修改后的值是:{'name': '小丽', 'age': 18}


1.5.3 添加元素


如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

person = {'name': '张三', 'age': 18}
person['email'] = '123.@126.com'
print('添加后的值是:%s' % person)  #添加后的值是:{'name': '张三', 'age': 18, 'email': '123.@126.com'}


1.5.4 删除元素


对字典进行删除操作,有一下几种:


del


clear()


del删除指定的元素

person = {'name': '张三', 'age': 18}
del person['age']
print(person)  #{'name': '张三'}


del删除整个字典

person = {'name': '张三', 'age': 18}
del person
print(person)  #报错:NameError: name 'person' is not defined


clear清空整个字典,但保留字典的结构

person = {'name': '张三', 'age': 18}
person.clear()
print(person)  #{}


1.5.5 字典的遍历


遍历字典的key(键)

person = {'name': '张三', 'age': 18, 'email': '123@126.com'}
for s in person.keys():
    print(s)
#name
#age
#email


遍历字典的value(值)

person = {'name': '张三', 'age': 18, 'email': '123@126.com'}
for s in person.values():
    print(s)
#张三
#18
#123@126.com


遍历字典的项(元素)

person = {'name': '张三', 'age': 18, 'email': '123@126.com'}
for i in person.items():
    print(i)
#('name', '张三')
#('age', 18)
#('email', '123@126.com')


遍历字典的key-value(键值对)

person = {'name': '张三', 'age': 18, 'email': '123@126.com'}
for k, v in person.items():
    print('key是:%s,value是:%s' % (k, v))
#key是:name,value是:张三
#key是:age,value是:18
#key是:email,value是:123@126.com


2. 函数


2.1 定义函数


定义函数的格式如下:

def 函数名(): 
    代码


定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它


调用函数很简单的,通过 函数名() 即可完成调用


示例:

#定义函数
def f1():
    print('hello ')
    print('world')
f1() #定义完函数后,函数是不会自动执行的,需要调用它才可以


结果:

hello 
world


函数定义好以后,函数体里的代码并不会执行,如果想要执行函数体里的内容,需要手动的调用函数。


每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了。

相关文章
|
14小时前
|
存储 Python
Python进阶语法之推导式
本章是对自己学完基础语法后,学习python进阶语法推导式过程中,自己的一些理解和看法,因为自己从刚开始第一次看看不懂,到学习一段时间后,通过积累再次看这里的知识点发现自己有了新的理解,这次将这部分知识学完了,剩下就是通过练习来达到熟练了.本章的推导式,包含列表推导式,字典推导式,集合与元组推导式这四种.主要是对python进阶语法推导式,的练习与理解,同时也提高了自己对代码的简化和运行的能力的提高,也是在这次学习中,我发现学习代码更多需要的是对基础和知识的积累,当眼界与思维突破瓶颈,看之前难以理解的事物发现变的容易去使用和理解了.
11 2
|
17小时前
|
Java 开发者 索引
Python基础语法:类笔记
本篇博文是把自己在学习python类的过程中自己理解和笔记,一点一点总结的写出出来,做一个总结,加深对面向对象编程的理解。
8 0
|
4天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
4天前
|
Python
python中的语法错误
【4月更文挑战第23天】
11 3
|
6天前
|
Python
【Python21天学习挑战赛】-入门必备
【Python21天学习挑战赛】-入门必备
|
9天前
|
存储 Python
python入门指南
python入门指南
15 0
|
10天前
|
机器学习/深度学习 自然语言处理 算法
利用Python进行情感分析:从入门到实践
【4月更文挑战第24天】 在数字化时代,文本数据无处不在。理解这些文本背后的情绪倾向对于品牌管理、市场研究乃至政治分析都至关重要。本文将引导读者通过Python编程语言实现基本的情感分析任务,涵盖从预处理步骤到模型训练和结果解释的全过程。我们将使用流行的自然语言处理库NLTK和机器学习框架scikit-learn来构建一个简单的情感分析模型,并探索如何将其应用于实际场景中。
|
10天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
10天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序