Python基础语法、内建数据结构列表、元组、字典、集合的讲解及应用(附源码 超详细必看)

需要完整PPT请点赞关注收藏后评论区留言并且私信~~~

一、Python基础语法

Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言。其结构简单,语法定义清晰。Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。

Python3 中有六种标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)和Dictionary(字典)。其中,不可变数据类型有Number、String和Tuple;可变数据类型有List、Dictionary和Set。

Python中的变量是不需要声明数据类型的,变量的“类型”是所指的内存中被赋值对象的类型。同一变量可以反复赋值,而且可以是不同类型的变量

变量赋值实例如下

brower, count, addsum = 'Google', 100, 123.45
print(brower, count, addsum)

运算符和表达式

运算符用于执行程序代码运算,会针对一个以上的操作数进行运算。Python语言支持算术运算符、关系运算符和逻辑运算符。

各类运算符的优先级顺序为:逻辑运算符<关系运算符<算数运算符

字符串

转义字符

字符串被定义为引号之间的字符集合,在Python中,字符串用单引号('), 双引号("), 三引号(''')括起来。当Python字符串中有一个反斜杠时表示一个转义序列的开始,称反斜杠为转义符。 

\n 换行

\" 双引号

\\ 反斜杠

\t 制表符

Python允许用r+""的方式表示""内部字符串不转义

print("python\nprogram")
print(r"python\nprogram")

字符串的运算 

 Python特有的索引规则为:第一个字符的索引是0,后续字符索引依次递增,或者从右向左编号,最后一个字符的索引号为-1,前面的字符依次减1,主要运算  +  *  切片。

+ 连接操作

* 重复操作

[] 索引

[:] 切片

流程控制

1:条件语句

条件机构又称为选择结构 根据判断条件 程序选择执行特定的代码

compound = input("请输入化学分子式:")
if compound == "H2O":
    print("water")
elif compound == "NH3":
    print("ammonia")
elif compound == "CH4":
    print("methone")
else:
    print("no exist")

 2:循环语句

循环结构是指满足一定的条件下,重复执行特定代码块的一种编码结构

sum=0
i = 1
while i<6:
    sum = sum+i
    i = i+1
print("sum is %d." %sum)

 下面的代码将数组中的奇数变成它的平方 偶数保持不变

x = [ 1,2,3,4,8,7, 22,33, 88]
print("原数据:",x)
for i in range(len(x)):
    if(x[i] % 2) !=0:   # 判读第 i 个元素是否为奇数
        x[i] = x[i] * x[i]
print("处理后:",x)

函数

函数是对程序逻辑进行过程化和结构化的一种方法。有了函数,可将大块的代码巧妙合理地隔离成容易管理和维护的小块。

函数定义语法格式如下所示: def  function_name(arguments): function_block

Python使用lambda来创建匿名函数

下面定义函数计算阶乘

def fac(n):
    s=1;
    for i in range(2,n+1):
        s=s*i
    return s
n=5
print('%d!=%d'%(n,fac(n)))

定义一个lambda函数计算多项式1+2x+y2+zy的值

polynominal = lambda x,y,z: 1+2*x+y**2+z*y
polynominal(1,2,3)

二、内建数据结构

在Python中,最基本的数据结构是序列。序列中的成员有序排列,可以通过下标偏移量访问到它的一个或几个成员。除了前面已经介绍过的字符串,最常见的序列是列表和元组。

列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表具有可变长度、异构以及任意嵌套列表的特点。列表是可变对象,支持在原处修改。

1:列表

列表的常用方法

(1)增加元素  L.append(v)

(2)查找给定的元素  L.index(x)

(3)删除列表中的元素  L.remove(v)

(4)列表元素倒排、统计和排序   L.reverse()用以倒排列表中的元素,L.count(x)实现返回x在列表中出现的次数。

list = ['a', 'b', 'c', 'd']
list.append('Baidu')
print ("追加后的列表 : ", list)
list.insert(1, 'Google')
print ("插入元素后的列表 : ", list)

查找给定的元素 返回索引

list = ['a', 'b', 'c', 'd']
print ('b索引值为', list.index('b'))

删除第一次找到的数值

list = ['a', 'b', 'c', 'd']
list. remove('d')
print ("列表现在为 : ", list)
p=list. pop()
print ("删除 %r 后的列表为 %r : " % (p, list))
print ("删除元素为 : ", list.pop(1))

列表元素倒排、统计和排序

List = ['a', 'b', 'c','a', 'd','a','c']
List.reverse()
print('倒排后的List:',List)
print ('c的出现次数是:', List.count('c'))
List.sort(reverse=True)
List

列表推导式

列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个推导序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。

vec = [2, 4, 6, 8, 10]
print([3*x for x in vec])
vec = [2, 4, 6,8,10]
print([3*x  for  x  in  vec  if x > 6])
vec1 = [2, 4, 6]
vec2 = [4, 3, -9]
print([x*y for x in vec1 for y in vec2 if x*y>0])

 2:元组

元组  元组有很多用途,例如,坐标(x, y),数据库中的员工记录等等。元组和字符串一样,不可改变,即不能给元组的一个独立的元素赋值。元组和列表看起来不同的一点是元组用的是圆括号(),而列表用的是方括号[]。

tup = tuple('bar')  #创建元组
print('输出元组tup:',tup)  #输出元组
nested_tup = (4,5,6),(7,8)
print('输出元组tup:',nested_tup)  #元素是元组的元组
print('元组的连接',tup+tuple('wwy'))
a,b,c = tup  #元组的拆分
print(a,b,c)
print(tup.count(a)) # 统计某个数值在元组中出现的次数

3:字典

字典也称映射,是一个由键/值对组成的非排序可变集合体。键值对在字典中以下面的方式标记:

dict = {key1 : value1, key2 : value2 }

scientists = {'Newton' : 1642, 'Darwin' : 1809, 'Turing' : 1912}
print('keys:', scientists.keys())  #返回字典中的所有键
print('values:', scientists.values()) #返回字典中的所有值
print('items:', scientists.items()) #返回所有键值对
print('get:', scientists.get('Curie', 1867))  # get方法
temp = {'Curie' : 1867, 'Hopper' : 1906, 'Franklin' : 1920}
scientists.update(temp)  #用字典temp更新字典scientists
print('after update:', scientists)
scientists.clear() # 清空字典
print('after clear:', scientists)

4:集合

集合是一个由唯一元素组成的非排序集合体。也就是说,集合中的元素没有特定顺序,也没有重复项。集合可以使用大括号{ }或者set()函数创建集合,但是,创建一个空集合必须用 set(),因为{ }是用来创建一个空字典。

set1 = set([0,1,2,3,4])
set2 = set([1,3,5,7,9])
print(set1.issubset(set2))
print(set1.union(set2))
print(set2.difference(set1))
print(set1.issubset(set2))

 创作不易 觉得有帮助请点赞关注收藏~~~

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值