python入门知识点(上)

时间:2021-10-10 22:43:22

1.硬件系统:

主机部分:

1.*处理器(CPU): 电脑的大脑

运算器: 数值计算和逻辑判断

控制器: 可以电脑中的各个部件协同工作

2.内部存储器:

随机存储器:内存条

使用电信号表示数据;

特点:

1.读写数据速度快

2.临时存储数据

只读存储器

外设部分:

输入设备:

键盘

鼠标

摄像头

输出设备:

显示器

音箱

打印机

外部存储器:

U盘

硬盘:

使用磁表示数据.

特点:

1.读写数据的速度慢

2.永久存储数据

移动硬盘

软件系统

计算机只有硬件,没有软件,这台计算机就是一个裸机.

1.操作系统:

是一个大型软件,是一个最基本最重要的软件,它可以管理硬件和支持其它软件的运行.

作用:

(1).控制硬件,支持其它软件的运行

(2).给用户提供了3种使用硬件的方式:

图形界面

命令行窗口

系统接口

2.设备驱动程序

管理硬件.

操作系统是通过驱动程序来管理硬件的.

3.编译器(语言处理程序):

用来把程序员开发的程序 翻译 成 机器指令的.

计算机底层使用001010之类的数字序列来存储数据.计算机只认识01010这样的数据(机器指令,二进制数据,字节数据)

4.计算机程序运行的过程

print("hello")

5.编程语言

C,C++,Java,GO,C#,Python

编程语言:

是一种人与计算机之间进行交流的语言.

6.python的认识

python的特点:

1.功能强大

2.扩展性强

3.语法简单易学

4.免费开源

7.注释

注释:

用于解释说明程序的文字.

作用:

用于解释说明程序,让别人能够看懂你的程序.

注释不会被执行,只是用来给开发人员看的.

分类:

1.单行注释

注释的文字只能写成一行

格式:

# 解释的文字

可以添加在代码的上面或者右边.

快捷键:  Ctrl + /

2.多行注释

注释的文字只能写成多行

格式:

'''

解释的文字

解释的文字

解释的文字

解释的文字

'''

"""

解释的文字

解释的文字

解释的文字

解释的文字

"""

什么时候添加注释?

1.代码的逻辑比较复杂难懂

2.核心代码

在python的语法规范中推荐使用的方式:

# -*- coding:utf-8 -*-

8.变量的概念

计算机执行程序的目的是 :为了处理数据.

计算机程序处理的数据往往是外界提供的.自己把数据临时存储起来,然后再处理.

在程序中如何临时存储数据?

使用 变量 临时存储数据.

从本质上讲,变量是存储中的一块区域.

9.定义变量及其使用

在内存中开辟一块区域存储数据.

定义格式:

变量名 = 数值

通过变量名来使用.

10.变量的类型(数据类型)

 

11. 关键字

标识符:

给变量,函数,类,文件取的名字.

标识符的命名规则:

1.必须遵守的规则

标识符由字母、下划线和数字三种组成,且数字不能开头.

而且不能是关键字.

2.开发的习惯

见名知意

a = 10

age = 10

name = "张三"

关键字:

在python语言中已经赋予了特殊的含义,已经被python语言使用了的单词.

查看关键字:

1.导入工具包:keyword

import keyword

2.调用工具包中的功能,获得关键字列表:

print(keyword.kwlist)

11.变量的类型

基本的数据类型:

数字类型:

整数:int :1 2 3

小数:float :3.14 -2.5

布尔类型:bool

比较特殊,只有两个值:True和False,非零的数字表示True,0表示False

字符串类型:str

使用双引号或者单引号引住的任何数据,都叫做字符串.

"hello" 'world' "10" "" " " "5" "&>"

高级的数据类型:

字符串

列表

元组

字典

set集合

11.不同类型数据间的运算

/ 除号

% 取余,取模

#两个整数相除

print(10 / 2) # 5.0

print(10 / 3) # 3.3333333333333335

# 取余: 如果这个数据余上2 结果为0,那么这个数一定是一个偶数

print(3 % 2)

print(10 % 2)

print("1.2")

# 字符串与整数不能相加:TypeError: must be str, not int

# print("hello"+2)

# 字符串与整数相乘:会把字符串拼接n次,这个n是整数

print("hello"*3)

# 字符串与字符串相加:这里的+号,是字符串连接符

print("hello" + "world" + "python")

12.输出

 

调用解释器自带的print()函数,把数据输出到控制台.

如果输出的字符串中包含了变量的值,需要在字符串中使用格式化操作符来占位.

格式化操作符:

字符串:%s

整数:%d    %nd

小数:%f    %.2f

不确定变量的类型时,使用%s.

如果输出的字符串中包含了多个变量的值,需要在%后面使用小括号括住多个变量,变量之间使用逗号隔开,注意变量的顺序与格式化操作符的顺序一一对应.

13.输入

从键盘上录入一个数据,并且得到这个数据.

需要调用解释器提供的一个函数input("提示语"):

这个函数可以让你在键盘上录入一个数据,并且得到这个数据.

这个函数比较特殊:

不管在键盘上录入的数据是什么类型的,这个函数得到的就一个字符串类型的数据.

14.数据类型转换

目标数据类型(数据)

例如:

a = "10"

int(a)

把字符串a 转成int类型的数字.

b = 10 # int类型

# 把数字b转成字符串类型的

str(b)

15.认识Bug

Bug是指程序中出现的不正常的情况:

1.程序出错

2.程序运行的结果不是预期的结果

出现bug的原因:

1.因为手误

2.对技术的理解不够深入

 

16 .Debug调试程序

 

调试程序: 查看程序执行的过程,找到出现bug的原因,并且修改错误.

Debug调试(断点调试):

断点:在程序中加上的一个标记;

断点调试:

在程序中加上断点,通过查看程序执行的过程,找到出现bug的原因,并且修改错误.

Debug程序时,代码执行到断点的那一行,就会停住.

停在这一行,意思是说即将执行这一行但是还没有执行.

17.关系运算符

> ,< ,== ,!=

>= ,<=

作用:用来比较两个数据之间的关系的.

比较的结果一定是一个布尔类型的值,要么是True,要么是False.

18.if语句的第一种格式

python语言中的流程控制语句:

1.顺序语句

print("A")

print("C")

print("D")

print("B")

2.条件分支语句

if语句有三种格式:

第一种格式:

if 关系表达式:

语句体

语句体:可以是一行代码,也可以是多行代码

3.循环语句

19.if语句的第二种方式

格式:

if 关系表达式:

语句体1

else:

语句体2

....

20.逻辑运算符

21.if语句的第三种格式

格式:

if 关系表达式1:

语句体1

elif 关系表达式2:

语句体2

... # 表示省略了0个或者多个elif语句

else:

语句体n+1

执行流程:

1.先执行关系表达式1,看其结果True还是False;

2.如果为True,就执行语句体1;

3.如果为False,就执行关系表达式2,看其结果True还是False;

4.如果为True,就执行语句体2;

5.如果为False,就执行下一个关系表达式,看其结果True还是False;

6.如果以上所有关系表达式的结果都是False,就执行语句体n+1;

22. if语句的嵌套的使用

在if语句的格式中在写一个if语句格式.

格式:

if 关系表达式1:

语句体1

if 关系表达式2:

语句体2

else:

语句体3

else:

语句体4

执行流程:

1.先执行关系表达式1,看其结果True还是False;

2.如果为True,就执行语句体1,然后执行关系表达式2,看其结果True还是False;

3.如果为True,就执行语句体2;

4.否则就执行 语句体3;

5.如果关系表达式1的结果为False,就执行语句体4;

23. 复合赋值运算符

+=: 使用左右两边的数据相加,得到一个结果,然后把结果赋值左边的变量.

a = 5

a -= 1 # a = a-1

24. 运算符的优先级

算术运算符

关系运算符

逻辑运算符

优先级从上往下,由高变低.

and or 的优先级是一样的.

如果想修改表达式的运算顺序,可以通过添加小括号的方式来修改.

not 的优先级是最低

25. while循环语句格式和执行流程

循环语句:

重复的执行指定的代码块;

while循环语句;

for循环语句;

while循环语句的格式:

初始化语句①

while 条件语句②:

循环体语句③

条件控制语句④

执行流程:

①②③④ - ②③④ - ②③④-...,当②的结果为False,就结束整个while循环

26.while循环练习题-求0-100之间偶数的累加和

 

#encoding=utf-8

i = 1

sum = 0

while i <= 100:

if i % 2 == 0:

sum = sum + i

i+=1

print("1~100的累积和为:%d" % sum)

 

27.break和continue的用法:

 

       break:终断,结束的意思

continue:继续的,跳过本次循环,继续下一次循环;

这两个关键字只能用在循环语句中,单独使用没有意义.

28. while嵌套循环

格式:

初始化语句①

while 条件判断语句②:

循环体语句③

初始化语句

while 条件判断语句:

循环体语句

条件控制语句

条件控制语句④

29.转义字符

\n : 换行符

\ 是转义字符,可以改变某一个字符的功能.

30. 容器的概述

容器是用来存储多个数据.

可以查找容器的中某一个数据,和所有数据.

可以向容器中添加数据,修改数据,删除数据.

常见的容器:

字符串

列表

元组

字典

set集合

这几种容器都是数据类型,与前面讲的int,float,bool类似;

int,float,bool类型的变量里面只能存储一个数据;

容器类型的变量中可以存储多个数据.

 

31. 字符串的概述

       使用双引号或者单引号引住的内容叫做字符串.

字符串中可以存储多个字符.

字符串中的每个字符都叫做一个元素;

每个元素都有自己的编号,这个编号也叫做索引,角标,下标.

索引是从0开始的,第一个元素的的索引是0,往后依次加1,

最后一个元素的索引是 "元素的个数-1".

操作字符串字符串时可以通过索引操作字符串,比如,根据索引得到里面某一个字符,或者得到某几个字符等.

32. 字符串的定义和输出

       使用双引号或者单引号引住的内容叫做字符串.

打印字符串变量,打印出来的是字符串的内容.

"he'aa'llo"  'he"aa"llo'

定义格式:

变量名 = "字符串内容"

s = "hello"

print(s)

我的名字是xxx

name = "zhangsan"

print("我的名字是" + name )

33.字符串的查找,for循环遍历和替换的方法

根据索引查找字符.

s = "hello python"

s[3]

s.find(str)    表示“str”在“s”中第一次出现的索引。(找不到不会报错)

s.index(str)     表示“str”在“s”中第一次出现的索引。(找不到会报错)

s.rfind(str)     表示“str”在“s”中最后一次出现的索引。

s.rindex(str)   表示“str”在“s”中最后一次出现的索引。

s.count(str)    表示“str”在“s”中出现的次数。

s.replace(odlstr,newstr,count)  表示用新字符串替换旧字符串,count表示替换次数。

s.split(str)       表示用str分割。

s.strip()          表示删除字符串两端的空白字符。

s.isalpha()      表示判断字符串是否都是字母。

s.isdigit()        表示判断字符串是否都是数字

s.isdecimal()   表示判断字符串是否都是字母

s.alnum()       表示判断字符串是否只有数字或者字母。

s.isupper()      表示判断字符串是否全为大写字母。

s.islower()      表示判断字符串是否全为小写字母。

s.startswith()  表示判断字符串是否以()开头。

s.endswith()   表示判断字符串是否以()结尾。

s.upper()        所有字母改为大写字母。

s.lower()        所有字母改为小写字母。

34.字符串的切片

就是截取字符串

切片的语法:

字符串[开始索引:结束索引]

从开始索引的字符开始截取,以直接渠道结束索引的字符,包括开始索引的字符,但是不包括结束索引的字符.

35.字符串的步长

字符串[开始索引:结束索引:步长]

36.列表的定义及使用

列表:也是一个容器,是用来存储多个数据的,每个数据可以是任何类型的.

可以向列表中添加数据,删除数据,修改数据,查询数据.列表中的每个数据都叫做元素.

元素都有自己的编号,也叫做索引,角标,下标.

格式:

list1 = [10,30,50]

37.列表添加和删除元素的方法

list[1] = 30  表索引为“1”的元素。

list.append(数据)  添加一个元素。

list.remove(元素)  删除一个元素。

list.pop(索引)        删除指定索引的元素。

list.pop()               删除最后一个元素。

List[0] = 20  → 表示列表索引为0的元素改为20.    list1 = [20,30,50]

38. 列表的嵌套

列表中的元素也可以是一个列表.

39. 元组的的定义和使用

 

       元组也是一个容器,与列表类似,可以把它看做一个不能用于修改的列表,也就是元组只能查询.

定义元组的格式:

元组名 = (元素1,元素2,元素,...)

元素可以是任何类型的.

40. 字典的概述

       字典用两列存储数据,存储的数据是一对一对的,每对数据都是一个键(key)和一值(value)组成的,叫做键值对,要想查询值,必须通过键 查询.

根据键得查询值的效率非常高.

字典中的key不能重复,value可以重复.

 

41.字典的定义格式

 

       字典名 = {key1:value1,key2:value2,...}

value可以是任何类型的数据.

key通常是整数或者字符串类型的.

      

      

42.字典的查找,修改和删除键值对的方法

 

       查找value:

字典名[key]:如果key不存在,会报错

字典名.get(key) :如果key不存在,不会报错

添加新的键值对:可以在字典中不存在

字典名[key] = value

修改value:必须保证key存在

字典名[key] = value

删除键值对:

字典名.pop(key)

del 字典名[key]

del 列表名[索引]

 

43.字典遍历键值对的两种方式

 

方式一:

1.先得到所有的key;

2.遍历key,通过key得到value;

Keys =字典名.keys()

For key in keys:

Value = 字典名.get(key)

Print(“key = %s,value = %s” % (key,value))

方式二:

  1. 得到所有键值对:

Items = 字典名.items()

  1. 遍历键值对,得到key和value

For key,value in items:

Print(key + “=” + value)

 

44. set集合的定义和使用

       set集合与列表非常类似,但是它里面不能存储重复的数据.set集合中没有索引这个概念.

定义格式:

set集合的名字 = {元素1,元素2,元素3,...}

45. set集合的查找,修改和删除元素的方法

set.add()        添加元素

set.update(set2)    把set2中set1里没有的元素加进去

set.remove(“hello”)       删除“hello“这个元素”

46. 列表、元组、set之间的类转换

 

       列表转元组:tuple1 = tuple(list1)

元组转列表:list2 = list(tuple1)

列表转set集合:set1 = set(list1)如果列表中有重复元素,set集合会自动删除重复的元素。

47.容器的总结

字符串:

字符串中存储的是字符.每个字符都是一个元素.

不能被修改.长度是固定的.

列表:

列表的内容可以修改;

是按照添加数据的顺序来存储数据的.

列表的长度是可以改变的.

元素可以是任何类型的.

使用[ ]定义.

元组:

是一个只能用于查询的列表.

使用( )定义.

字典:

使用键值对来存储数据.没有索引,只能通过key得到value.

使用两列存储数据.

字典通过key查询value的效率比较高.

使用{}定义.

set:

与列表类似,都是用一列存储数据的.与列表最大的区别是,不能存储重复的数据.

使用{ }定义.

48. 函数的概述

"""

把代码中重复的代码单独抽取出来,作为一个独立的代码看,然后在需要的地方调用它.

这个代码叫做函数.

函数的好处:

1.可以让代码结构变的更加简洁清晰.

2.提高代码的重复使用率.

3.可以提高开发效率.

49. 函数的定义及调用

       def 函数名():定义

代码………

代码………

函数名()调用

50. 函数的调用过程

 

定义函数的格式:

def 函数名():

函数体

函数体就是一个代码块,可以是一行或者多行代码.

如果只是定义了函数,但是没有调用函数,函数里面的代码是不会被执行的.

调用函数的格式:

函数名()

函数调用的过程:

代码执行到这一行,就是在内存中记住这个函数,

等以后调用函数时,解释器会来到这内存中找到这个函数,

找到这个函数后,就会执行函数里面的代码.找不到就报错