复习一下:Python基础知识学习

菜鸟教程:Python3 基础语法 | 菜鸟教程 (runoob.com)

一、数据类型

1、Number(数字)

(1)数字类型

Python包括4种数字类型:int、float、bool、complex(复数)

1    2.0    True     1+2j

注:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

(2)强制类型转换

int(x)          #将x转换为一个整数。float(x)        #将x转换到一个浮点数。complex(x)      #将x转换到一个复数,实数部分为 x,虚数部分为 0。complex(x, y)   #将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

(3)数字运算

#算术运算符 :+ - * / % ** //
#比较(关系)运算符 : == != > < >= <=
#赋值运算符 : = += -= *= /= %= **= //= :=(海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。)
#位运算符 : & | ^(异或) ~ << >>(按位左移和按位右移)
#逻辑运算符 :and or not
#成员运算符 :in   not in 测试实例中是否包含另一成员
#身份运算符 :is   not is

2、String(字符串)

我们可以使用引号( ' 或 " )来创建字符串

'Hello World!'
"Hello World!"

(1)访问字符串

可以使用 [ ]来截取字符串,索引值从 0 开始,-1 结尾。

str = 'Hello'#字符串截取
str[0]是'H' ,str[-1]是'o'
str[:]是'Hello'
str[0:]是'Hello'
str[:4]是'Hello'
str[2:4]是'll'    左闭右开

(2)转义字符以及字符串运算

转义字符

\在行末尾时表示续行符\n换行符\r  \f  \v  \t等等

字符串运算

# + * in   not in
a = 'Hello'
b = 'Python'
>>> a + b'HelloPython'>>> a * 2'HelloHello'>>> 'H' in aTrue

(3)字符串格式化

常用的有% s  和%d  %f

%s格式化字符串
%d格式化整数
%f格式化浮点数print ("我叫 %s 今年 %d 岁!" % ('小明', 15))

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

>>> name = '小明'
>>> f'Hello {name}'  # 替换变量
'Hello 小明'

3、List(列表)

列表数据项不需要具有相同的类型,而且我们常常需要对列表进行索引和切片等操作。列表可以嵌套列表。

list = ['Google', 'Runoob', 1997, 2000,'red','a']

(1)访问列表

列表的访问非常类似字符串,第一个列表元素是List[0],依次是List[1],List[2]。

list = ['Google', 'Runoob', 1997, 2000,'red','a']#列表索引
list[0] = 'Google'
list[1] = 'Runoob'#列表截取
list[0:4] = ['Google', 'Runoob', 1997, 2000]

(2)更新列表

我们可以对被定义的列表进行更新,比如:删除、添加、更改

list = ['Google', 'Runoob', 1997, 2000,'red','a']#删除列表元素
>>>del list[5]   #表示删除列表中第六个元素
>>>print(list)
['Google', 'Runoob', 1997, 2000,'red']#更改列表元素
>>>list[1] = 'Baidu'
>>>print(list)
['Google', 'Baidu', 1997, 2000,'red']#添加列表元素
>>>list.append('Huohu')     #在列表的末尾添加元素
>>>print(list)
['Google', 'Baidu', 1997, 2000,'red','Huohu']

列表运算:列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

>>>[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]>>>['Hi!'] * 4
['Hi!', 'Hi!', 'Hi!', 'Hi!']>>>3 in [1, 2, 3]
True

(3)列表函数

len(list)      #列表元素个数
max(list)      #返回列表元素最大值
min(list)      #返回列表元素最小值
list(seq)      #将元组转换为列表
list.append(obj)           #在列表末尾添加新的对象
list.count(obj)            #统计某个元素在列表中出现的次数
list.extend(seq)           #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)            #从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)    #将对象插入列表
list.pop([index=-1])       #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)           #移除列表中某个值的第一个匹配项
list.reverse()             #反向列表中元素
list.sort(key=None,reverse=False)    #对原列表进行排序,reverse = True 降序, reverse = False 升序(默认)
list.clear()               #清空列表
list.copy()                #复制列表

4、Tuple(元组)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

#创建空元组,元组中只包含一个元素时,需要在元素后面添加逗号
tup = ()

(1)访问元组

元组的访问和截取与列表一样,请参考列表。

(2)更新元组

元组中的元素值是不允许修改的,但可以对元组进行连接和删除。

#元组拼接
tup1 = (12, 34.56)
tup2 = (78, 910)
tup3 = tup1 + tup2
print (tup3)(12,34,56,78,910)#元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组
del tup

(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                             #元素是否存在
len(tuple)            #计算元组元素个数。
max(tuple)            #返回元组中元素最大值。
min(tuple)            #返回元组中元素最小值。
tuple(iterable)       #强制类型转换。

5、Set(集合)

集合(set)是一个无序的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 集合的基本操作

#添加元素
s.add(x)      #添加元素x到集合 s 中,如果元素已存在,则不进行任何操作。
s.update(x)   #添加参数X到集合 s 中,参数可以是元素,列表,元组,字典等#移出元素
s.remove(x)   #如果元素不存在,则会发生错误
s.discard(x)  #如果元素不存在,不发生错误
s.pop()       #设置随机删除集合中的一个元素#计算集合元素个数
len(s)#清空集合
s.clear()#判断元素是否在集合中
x in s

6、Dictionary(字典)

字典可存储任意类型对象,由键值对key=>value 组成,key=>value对内用冒号 : 分割,外用逗号,分开。

dict = {key1 : value1, key2 : value2, key3 : value3 }

键是唯一的,是不可变动的,而值是可以改变的。

#student 1
student_01 = {'name':'YunYing','age':18,'job':'cike'}#student 2
student_02 = {'name':'ZhangLiang','age':20,'job':'fashi'}#student 3
student_03 = {'name':'CaiWenji','age':10,'job':'fuzhu'}

 (1)字典的基本操作

#访问字典值
student_01 = {'name':'YunYing','age':18,'job':'cike'}
>>>student_01['name']#修改字典
#将某个值赋给字典的键
>>>student_01['name'] = 'HuaMulan'#添加键值对
>>>student_01['attact'] = 'liaoyuanbaizhan'#删除字典元素和清空字典
del student_01['name']
student.clear()
del student_01

 注:

①不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

②键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

(2)遍历字典

遍历字典

#遍历字典
print(student_01.items())     #student_01.items()可以遍历字典,生成一个以键值对列表为元素的元组
for k,v in student_01.items():print('Key:' + str(k))print('Value:' + str(v))

遍历字典中的键 

#遍历字典中的键
print(student_01.keys())
for k in student_01.keys():print('Key:' + k)

 遍历字典中的值

#遍历字典中的值
print(student_01.values())
for v in student_01.values():print('value:' + str(v))

(3)字典嵌套

列表中嵌套字典

#列表中嵌套字典
#比如我想展示所有出现的英雄信息
student_01 = {'name':'YunYing','age':18,'job':'cike'}
student_02 = {'name':'ZhangLiang','age':20,'job':'fashi'}
student_03 = {'name':'CaiWenji','age':10,'job':'fuzhu'}
student_04 = {'name':'ZhuangZhou','age':20,'job':'fuzhu'}
student_05 = {'name':'JiaLuo','age':24,'job':'sheshou'}students = [student_01,student_02,student_03,student_04,student_05]for student in students:print(student)

字典中嵌套列表

#字典中嵌套列表
#比方说云缨,我想知道云缨的所有的攻击技能
student_01 = {'name':'YunYing','age':18,'job':'cike','attact':['zhuiyun','zhuxing','duanyue','jianyi','ruiyi','zhenyi',]}

即某一个键的特性需要用不止一个值来描述,往往会嵌套列表。

字典中嵌套字典

Heros = {'YunYing':{'age':18,'job':'cike'},'ZhangLiang':{'age':20,'job':'fashi'},'CaiWenji':{'age':10,'job':'fuzhu'},'ZhuangZhou':{'age':20,'job':'fuzhu'}}

二、三大语句

1、if语句

(1)一般形式

if condition_1:statement_block_1
elif condition_2:statement_block_2
else:statement_block_3

(2)嵌套形式

if 表达式1:语句if 表达式2:语句elif 表达式3:语句else:语句
elif 表达式4:语句
else:语句

2、while循环语句

while 判断条件(condition):执行语句(statements)……

Python没有do  while循环,并且可以通过while 1进入无限循环,Ctrl+c退出无限循环。

3、for循环语句

for <variable> in <sequence>:<statements>

需要遍历数字序列时,可以使用内置range()函数

>>>for i in range(5):print(i)>>> for i in range(len(a)):print(i, a[i])

break 语句可以跳出 for 和 while 的循环体。

continue 语句跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

三、函数

编写程序代码时,比如实现某一功能需要多行代码实现,但是该功能在整个程序中多次出现,那么我们就需要多次书写这几行重复的代码,为保持代码的简洁与可读性,我们通过封装这几行代码的函数和调用函数来避免这种情况。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

1、函数定义

def 函数名(参数列表):函数体#举例
def div(Beichushu,chushu):
'''
函数说明:判断被除数是否可以被除数整除
'''if Beichushu%chushu == 0:return True;else:return False;div(4,2)

2、函数调用与参数传递

函数定义好之后,可以在其他代码或者其他函数中调用该函数(通过调用函数名和传递参数)。

Beichushu = 168
chushu = 6
print(div(Beichushu, chushu))
  • 位置实参

位置实参要求以正确的顺序传入函数,调用时的数量必须和声明时的一样。

#比如我们想判断168是否可以整除6,
div(168,6)

#如果参数位置传递错误
div(6,168)

  • 关键字实参

关键字实参是传递给函数“形参=实参”对,在参数传递时将名称和参数值关联起来,允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

div(chushu = 6,Beichushu = 168)
  • 默认参数

调用函数时,如果没有传递参数,则会使用默认参数(默认参数指在函数定义时赋给参数的值)。

  • 不定长参数

我们可能需要一个函数能处理比当初声明时更多的参数

def functionname([formal_args,] *var_args_tuple ):"函数_文档字符串"function_suitereturn [expression]

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

Python学习0——基础知识1相关推荐

  1. Python学习(基础知识2)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.python文件基本操作 1.单个文件的读写 2.多个文件的读写 3.文件特定行的读写 二.Python常见的异常 ...

  2. Python学习心得——基础知识(六)

    一.lambda表达式 1.定义 针对简单的函数,用lambda表达式来展现更方便. 2.样例 1 #普通函数 2 def f1(a): 3 return a+1 4 print(f1(7)) 5 6 ...

  3. Python学习手册 - 基础知识汇总(精简版)

    1.列表 (列表是动态的) 基本操作: list = ["A","B","C"]#列表检索list[0] #0 - 位置list[-1] # ...

  4. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  5. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  6. 关于图计算图学习的基础知识概览:前置知识点学习(PGL)[系列一]

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 0.1图计算基本概念 首先看到百度百科定义: 图计算(Graph Processin ...

  7. python小白自学基础知识(二)附加(人狗大战游戏)

    python小白自学基础知识(二) 1.计算列表内数字的累加和 这里用到functools模块,以及该模块下的reduce函数 语法:reduce(function1,list1) 注:functio ...

  8. A.关于图计算图学习的基础知识概览:前置知识点学习(Paddle Graph L)【一】

    图学习图神经网络算法专栏简介:主要实现图游走模型(DeepWalk.node2vec):图神经网络算法(GCN.GAT.GraphSage),部分进阶 GNN 模型(UniMP标签传播.ERNIESa ...

  9. Python培训入门基础知识学什么?

    Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...

最新文章

  1. linux下配置apache多站点访问-小案例
  2. js在PageOffice打开的Word文档光标处插入书签
  3. Photoshop之学习笔记(2) - 常用快捷键
  4. jquery.ajax
  5. iOS 进阶 - RUNTIME 运行时
  6. Java使用ojdbc连接Oracle数据库时不能使用服务名连接的问题
  7. 牛客网-剑指offer 第一题(二维数组中的查找)
  8. 汇编64讲(搞免杀、破解必看)
  9. oracle 重建 sys密码文件
  10. 学不动?Apache Member 教你评估实用技术的思路
  11. mysql5.7是测试版本吗_mysql免安装版本测试(mysql-5.7.18-winx64)
  12. 负数如何归一化处理_「译」 对比归一化和标准化——量化分析
  13. SQL Server 日期函数:EOMonth、DateFormat、Format、DatePart、DateName
  14. 【时间序列预测】基于matlab EMD优化BP神经网络汇率预测【含Matlab源码 1742期】
  15. Arcmap出了问题--显示“ArcGIS Initializing Application”
  16. 车间数据监控可视化大屏实操来啦
  17. classic shell_使用Classic Shell将Windows 7开始菜单带到Windows 10
  18. 滴滴、京东、今日头条等名企招人了,保密推荐,提前拿offer,可过年后入职!
  19. 1016 Phone Bills (25分)
  20. 关于宽哥英语课,本人的遭遇

热门文章

  1. 世界上第一台电子数字式计算机诞生于美国,世界上公认的第一台电子数字计算机诞生于哪年哪个国家?...
  2. 持续更新 BUUCTF——PWN(二)
  3. android自定义View之margin和padding的处理
  4. 究竟什么时候该看哪个后视镜?老司机用经验告诉你答案
  5. css百分比跟em的区别_查看CSS单位:像素,EM和百分比
  6. 关于谷歌浏览器崩溃,打不开页面
  7. 程序员35岁前成功的12条黄金法则
  8. 网 络 世 界 的 黑 暗 面
  9. win10提示系统资源不足,无法完成请求服务的解决方法
  10. 【学习笔记】C++ 中的 virtual 关键字与虚函数