python开发学习笔记(3) ————python基础篇

python基础

1. 解释器

将其他语言翻译成机器语言的工具,被称为编译器。
翻译的方式:1、编译;2、解释
编译型语言:源代码写好之后,通过编译器生成可执行文件,在操作系统环境下进行执行。整体进行翻译,而后执行。有平台限制,不同编译器生成不同平台的可执行文件。
解释型语言:源代码写好之后,通过解释器,运行解释每一句源代码。逐行翻译,逐行运行。一行一行进行翻译执行。跨平台有优势,只需考虑解释器类型即可。

2.常见错误

1)手误

函数名称拼写错误等

2)两行代码错误地写在了一行上
3)代码缩进错误

3.执行python的三种方式

1)解释器方式

python py文件
python3 py文件

2)交互式运行python

直接在终端中输入python或python3进行代码编写。

3)ipython

支持自动补全、自动缩进、支持bash shell命令、内置了许多有用的功能和函数。

4.命名规则

1)项目名称

以数字编号随着知识点递增、编号递增
如 01_Python 基础、02_分支、03_循环……

2)项目下的文件名

hm_xx_知识点方式来命名(xx为演练文件的序号)
只使用小写字母、数字和下划线
文件名不能以数字开头

5.注释

添加单行注释时,输入#号后,添加一个空格,再添加注释内容,保持整洁
代码和注释之间一般留两个空格(保持整洁)
多行注释,三对注释之间添加注释内容即可
如,
“””
注释
“””

6.运算符

// 取整除
% 取余数

** 幂运算**

7.程序执行原理

1)计算机三大件
a、CPU

中央处理器,超大规模集成电路
负责 处理数据/计算

b、内存

临时存储数据
速度快
空间小

c、硬盘

永久存储数据
速度慢
空间大

2)程序执行原理

程序运行之前,保存在硬盘中
运行程序时,操作系统让CPU把程序复制在内存中,CPU执行内存中的程序代码。(程序执行时,首先加载到内存中)

3)python程序执行原理

操作系统让CPU把python解释器复制到内存中
python解释器根据语法规则,从上向下让CPU翻译python程序代码
CPU执行翻译之后的代码

8.变量类型

1)数字型

整型 int (python2.x中,分为int和long两种;python3.x中只有int)
浮点型 float
布尔型 bool
真 True 非零
假 False 零
复数型 complex

2)非数字型

字符串
列表
元组
字典
※ type函数可以查看变量的类型

9.变量运算

1)不同数字型变量可以互相运算。bool中True按1来算,False按0来算。
2)字符串之间用+进行拼接
3)字符串与数字用*连接,可以重复字符串。

如,“三”*5,会输出:“三三三三三”

4)数字型变量和字符串之间不能进行其他计算

10.变量的输入

1)输入函数 input()

字符串变量 = input(“提示信息:”)
input()函数输入的都是字符串

2)类型转换函数

int(x) 将x转换成一个整数
float(x) 将x转换成一个浮点数

11.变量的格式化输出

输出文字信息的同时,一起输出数据
% 格式化操作符
%s 字符串
%d 有符号十进制整数,特殊格式%06d,表示数字的显示位数,若位数不足,则用0补全。
%f 浮点数, %.2f表示小数点后显示两位数
%% 输出%
例如
scale =0.25
print(“数据比例是 %2f%%” scale * 10)
上面这句代码会输出十个“数据比例是0.25%”
print(“数据比例是 %2f%%” (scale * 10))
上面这句代码会输出“数据比例是25%”。
例如
print(“格式化字符串” % 变量1)
print(“格式化字符串” % (变量1,变量2,…))

12.变量命名

字母、下划线和数字
不能以数字开头,不能与关键字重名
命名的时候,每个单词都小写,单词之间使用下划线进行连接

13.判断句

if 要判断的条件:
条件成立时,要做的事
else:
条件不成立时,要做的事
==、!=、>、<、>=、<=
elif 要判断的条件:
条件成立时,要做的事

14.python随机数

import random
random.randint(a,b) 返回a和b之间的随机整数,包含a和b

15.循环

1)while循环

while 条件(判断 计数器 是否达到 目标次数):
条件满足时,要做的事
处理条件(计数器+1)
break 满足一个条件后,退出循环,不再执行后面的代码
continue, 满足一个条件后,不再执行后面代码,直接跳到循环判断条件处

16.赋值运算符

=、+=、-=、*=、/=、//=、%=
程序中的计数一般从0开始

17.print

print() 默认情况下自动在内容末尾增加换行
print(“输出的内容”, end=””) 内容的末尾没有换行,同时,“”中间可以添加内容,在print输出之后,继续输出“”之间的内容。
有时候,可以添加一句print(“”),用来表明添加了换行符

18.转义字符

\t 控制台输出一个字符,协助在输出文本时垂直方向保持对齐
\n 在控制台输出一个换行符
\“ 双引号转义字符
\‘ 单引号转义字符
\ 反斜杠转义字符

19.函数

定义
def 函数名():
函数封装的代码
定义函数时,在函数名下用三对引号进行注释的编写,并且在调用函数的地方直接使用ctrl+q进行查看
注释:点击函数名,再点击函数名旁的小灯泡,再点击插入文档字符串
函数模块的前面与其他内容(包括注释),应当空出两行。
def 函数名(参数):
函数体代码
函数参数:形参:定义函数时,小括号中的参数,用来接收参收,在函数内部作为变量使用;实参:调用函数时,小括号中的参数,用来把数据传递到函数内部。
函数使用return返回结果
调用的一方,可以使用变量来接收函数的结果。
函数的嵌套调用:在函数中碰到函数调用时,就跳转调用的函数中执行代码

20.模块

py文件可以作为模块
import导入模块,可以使用模块中封装的函数
模块名也是标识符,字母下划线和数字,但是不能以数字开头。

21.列表

python中,所有非数字型变量都支持以下特点:
1.都是一个序列,即容器
2.取值[]
3.遍历
4.计算长度、最大/最小值、比较、删除
5.链接和重复
6.切片

1)定义

列表用 [ ] 定义,数据用,隔开
列表的索引从0开始

2)列表操作

index(数据) 得到指定数据的索引
增加:
insert(索引,数据)在指定位置添加数据
append(数据)在末尾追加数据
extend(列表2)将列表2的数据追加到列表中
修改:
列表【索引】=数据 修改指定索引的数据
删除:
del列表【索引】 删除指定索引的数据 ※将变量从内存中删除(一般不适用)
remove(数据) 删除第一个出现的指定数据
pop 删除末尾数据
pop(索引) 删除指定索引数据
clear 清空列表
统计:
len(列表) 列表长度
count(数据) 数据在列表中出现的次数
排序:
sort() 升序排序
sort(reverse=True)降序排序
reverse() 逆序、反转
python中,关键字不需要小括号,函数和方法需要
函数(参数)、对象.方法(参数)
遍历列表
列表应用场景:存储相同类型的数据,通过迭代遍历,针对列表中的每一个元素进行相同的操作。
for 变量名 in 列表名:
print(变量名)

22.元组

Tuple与列表类似,但元组的元素不能修改
元组用()定义
索引从0开始
元组通常保存不同类型的数据
定义只含有一个元素的元组时,加一个逗号即可。如,ongtuple = (5,)

1)常用操作

count 统计个数
index 查看指定数据的索引
len 计算元组元素的个数

2)遍历
 for 变量名 in 元组:
     print  变量名
3)应用场景

a 函数的参数和返回值
b 格式字符串
c 让列表不可被修改,保护数据安全

4)格式化字符串

格式化字符串后面的‘()’就是元组
info_tuple = (“小明”,21,1.85)
print(“%s 年龄是%d,身高是%.2f” % info_tuple)
同样,元组可以拼接字符串
info_str = “%s 年龄是%d,身高是%.2f” % info_tuple
print(info_str) 代码可以执行

5)元组和列表转换

num_tuple = tuple(num_list) 将列表num_list转换为了元组格式
num_list = list(num_tuple) 将元组num_tuple转换为了列表格式

23.字典

无序的对象集合,使用print时,输出的数据顺序与定义时的顺序不一致,随机打印
使用键值对进行保存数据,键值对之间用逗号分隔:
键key是索引
值value是数据
键和值之间使用:分隔
键必须是唯一的
值可以取任何数据类型,但键只能使用字符串、数字或元组
字典用{}来定义

1)字典操作

取值 字典名[键名]
增加 字典名[键名] = 数据
修改 字典名[键名] = 修改后的数据
删除 字典名.pop(键名) 删除指定键名的值
len(字典名) 字典长度
合并字典 字典1.update(字典2) 将字典1与字典2合并,注意:如果字典2中有
键值对与字典1中的重复,会覆盖字典1中的键值对
字典名.clear() 清空字典

2)遍历字典

for k in 字典名:
每一次循环,拿到的k是字典中每一个键值对的键k

3)应用场景

将多个字典放入一个列表中,遍历列表,对列表中的每个字典进行相同的处理

24.字符串

1)单双引号

当字符串内容中有双引号时,可以用单引号来定义。
如,str1 = ‘我的外号是“大西瓜”’ 打印出来是 我的外号是“大西瓜”

2)遍历字符串

a 可以使用索引,从0开始
b 通过for循环

for a in 字符串:
    print(a)    逐个输出字符串中的元素
3)字符串操作

len(字符串) 字符串长度
字符串1.count(字符串2) 字符串2在字符串1 中出现的次数
字符串1.index(字符串2)字符串2在字符串1中出现的位置

4)判断空白字符

字符串.isspace() 判断字符串是否只含有空白字符,是的话返回True
空格 \t \n \r都算空白字符

5)判断数字的三个方法

字符串.isdecimal() 可以识别阿拉伯数字
字符串.isdigit() 可以识别阿拉伯数字,可以识别unicode字符串
字符串.isnumeric() 可以识别阿拉伯数字,可以识别unicode字符串,可以识别中文大写数字
都不能判断小数

6)字符串的查找和替换

字符串.startswith(字符串2) 判断字符串是否以字符串2开始
字符串.endswith(字符串2) 判断字符串是否以字符串2结束
字符串.find(字符串2) 字符串2在字符串中出现的索引位置,与index方法类似,
区别在于,字符串2如果在原字符串中不存在,用index会
报错,用find方法会返回-1
字符串1.replace(旧字符串,新字符串) 用新字符串代替字符串1中的旧字符串,
执行完成后,会返回一个修改后的字符串,但字符串1不发生改变。

7)文本对齐

字符串.ljust(width) 字符串向左对齐,并用空格填充到width长度
字符串.rjust(width) 字符串向右对齐,并用空格填充到width长度
字符串.center(width) 字符串居中,并用空格填充到width长度。
三个对齐函数中都有fillchar参数,可以将参数变为中文空格
当字符串中有空白字符时,可以使用strip处理字符串去除字符串中的空白字符,

8)拆分和连接

split 拆分 join 连接
字符串.split() 把一个大的字符串拆分为字符串列表
新字符串.join(seq) 以新字符串为分隔符,将seq中的全部元素合并为一个新的字符串

9)切片

语法: 字符串[开始索引:结束索引:步长] 含左不含右
-1索引为字符串最后一个值
类似matlab中数组的截取

24 公共方法

1)内置函数

不需import
len(item) 元素个数
del(item)删除变量
max(item)返回元素最大值,如果是字典,只针对key
min(item)返回元素最小值,如果是字典,只针对key
cmp(item1,item2)比较两个值的大小, python3.x已经取消了cmp函数
python3.x中可以使用比较运算符进行比较运算。

2)切片

字符串,列表,元组都支持切片
字典是无序数据集合,不支持切片

3)算数运算符

a、字符串,列表,元组都可以乘以一个数或 加上一个元素进行重复计算
字典不可以,因为字典的key是唯一的
b、数据 in item 判断数据是否在item中(字符串,列表,元组,字典都适用)字典中判断的是key
数据 not in item 同理,表示的是不在item中

4)完整for循环
for 变量 in 集合:
	循环体代码
else:
	没有通过break退出循环,循环结束后,会执行的代码。

25.变量引用

1)变量与数据

变量和数据保存在内存的不同地方
变量中保存着数据在内存中的地址信息
这个地址就可以叫引用
id()函数可以查看这个地址信息
数据的地址本质是一个数字

2)调用函数的参数传递

调用函数时,传递的是实参保存的数据引用(地址),而不是实参的数据

3)函数返回的参数传递

函数返回的是返回值保存的数据引用,不是返回值的数据

4)可变和不可变类型

不可变类型,内存中的数据不允许被修改:
数字类型:int,bool,float,complex,long(2,x)
字符串:str
元组:tuple
可变类型,内存中的数据可以被修改:
列表 list
字典 dict
字典中的key不能是可变类型

5)哈希(hash)

哈希是一个算法,作用是提取数据的特征码
python中的内置的哈希函数hash(o),只能接受一个不可变类型的数据作为参数,然后返回的结果是一个整数。
字典中,设置键值对时,会首先对key进行哈希处理,以决定如何在内存中保存字典的数据,以方便后续对字典的增删改查。因此,key必须是不可变类型数据,键值value可以是任意类型数据。

26.全局变量和局部变量

1)定义

局部变量,函数内部定义的变量,只能在函数内部使用
全局变量,在函数外定义的变量,所有函数都可以使用这个变量。

2)值

局部变量的生命周期都在函数中,随着函数调用的结束,局部变量结束。
如果要在函数中修改全局变量的值,我们在函数中用global来声明变量,即可对全局变量的值进行修改。

3)定义方式

开发过程中,要把全局变量定义在所有函数上方

4)代码结构
shebang
import模块
全局变量
函数定义
执行代码

27.函数的参数和返回值

元组可以包含多个数据,函数可以使用元组来返回多个数据,且函数返回的类型为元组时,小括号可以省略。

28.交换两个变量的值(面试题)

a=6,b=60
解法一 使用其他变量
c=b
b=a
a=c
解法二 不使用其他变量
b=a+b
a=b-a
b=b-a
解法三 python专有 利用元组
a,b = b,a

29.函数传参

外部数据传入函数,并不会影响到外部数据
如果传给函数的是可变类型,同时,在函数内部使用方法修改了数据的内容,这样会影响到外部的数据。

面试题

列表做+=时,不是做相加再赋值的操作,本质是在调用列表的extend方法。
list += list 是调用extend方法
list = list+list 则是相加再赋值操作
函数的缺省参数
升序
list.sort()
降序
list.sort(reverse=True)

30.定义缺省参数

函数名(参数1,参数2=缺省值)
缺省参数必须在函数参数中的最后一个

31.多值参数

参数前加可以变为多值参数
参数 参数前一个的参数可以接收元组
**参数 参数前两个
的参数可以接收字典

32.元组和字典的拆包

传递参数时,在元组变量前增加一个*,在字典变量前增加两个*

32.递归

函数内部自己调用自己

1)特点

函数内部代码相同,针对参数不同,处理的结果不同
当参数满足一个条件时,函数不再执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值