今日内容:

1.常用数据类型及内置方法

2.文件处理

3.函数

一 数据类型:

1.1列表类型:

定义:

在[]内,可以存放多个任意类型的值,并以逗号隔开。

一般用于存放学生的爱好,课堂的周期等等...

1.2优先掌握的操作:

1、按索引存取值(正向存取+反向存取):即可存也可以取

2、切片(顾头不顾尾,步长)

3、长度

4、成员运算in和not in

5、追加

6、删除

7、循环

1.3需要掌握的:

1、index  获取列表中某个值得索引

2、count  获取列表中某个值的数量

3、pop  取值,默认取列表中最后一个值,类似删除

4、remove  移除,把列表中的某个值的第一个值移除

5、insert  插入值

6、extend  合并列表

1.4元组类型:

定义:

在()内,可以存放多个任意类型的值,并以逗号隔开。

注意:

元组与列表不一样的是,只能在定义时初始化值,不能对其进行修改。

优点:

在内存中占用的资源比列表要小。

1.5不可变类型和可变类型

不可变类型:

变量的值修改后,内存地址一定不一样。

数字类型

int

float

字符串类型 str

元组类型 tuple

可变类型:

列表类型 list

字典类型 dict

1.6字典类型:

作用:

在{}内,可存放多个值,以key-value存取,取值速度快。

定义:

key必须是不可变类型,value可以是任意类型

#1、按key存取值:可存可取

dict1 = {'age':18,'name':'YeZi'}

dict1['sex'] = 'female'

print(dict1)print(dict1['name'])#2、长度len#3、成员运算in 和 not in 只判断字典中的key

print('name' indict1)print(18 indict1)#4、删除

del dict1['age']print(dict1)#5、键keys(),值values(),键值对items()#得到字典中所有key

print(dict1.keys())#得到字典中所有值values

print(dict1.values())#得到字典中所有items

print(dict1.items())

#6、循环#循环遍历字典中所有的key

dict1 = {'age':18,'name':'YeZi'}for key indict1:print(key)print(dict1[key])#get

dict1 = {'age':18,'name':'YeZi'}print(dict1.get('age'))#[]取值

print(dict1['sex'])#get取值

print(dict1.get('sex'))#若找不到sex,为其设置一个默认值

print(dict1.get('sex','male'))

二 流程控制:

2.1if 判断:

语法:

if 判断条件:

# 若条件成立,则执行此处代码

逻辑代码

elif 判断条件:

# 若条件成立,则执行此处代码

逻辑代码

else:

# 若以上判断都不成立,则执行此处代码

逻辑代码

2.2while循环

语法:

while 条件判断:

# 成立执行此处

逻辑代码

break # 跳出本层循环

continue # 结束本次循环,进入下一次循环

#while循环

str1 = 'YeZi'num=0while num<3:

name= input('请输入猜测的字符:').strip()if name == 'YeZi':print('success!')break

print('请重新输入!')

num+= 1

三 文件处理:

open()

写文件

wt: 写文本

读文件

rt: 读文本

追加写文件

at: 追加文本

注意: 必须指定字符编码,以什么方式写

就得以什么方式打开。 如: utf-8

执行python文件的过程:

1.先启动python解释器,加载到内存中。

2.把写好的python文件加载到解释器中。

3.检测python语法,执行代码。

SyntaxError: 语法错误!

打开文件会产生两种资源:

1.python程序

2.操作系统打开文件

#参数一:文件的绝对路径#参数二:操作文件的模式#参数三:encoding指定的字符编码

f = open('file.txt',mode='wt',encoding='UTF-8')

f.write('YeZi')

f.close()#追加写文本文件

a = open('file.txt','a',encoding='UTF-8')

a.write('\n female')

a.close()

文件处理之上下文管理:

1、with可以管理open打开的文件,

会在with执行完毕后自动调用close()关闭文件

with open()

#写

with open('file1.txt','w',encoding='utf-8') as f:

f.write('墨菲定律')#读

with open('file1.txt','r',encoding='utf-8') as f:

res=f.read()print(res)#追加

with open('file1.txt','a',encoding='utf-8') as f:

f.write('维持')

2、with可以管理多个文件

#通过with来管理open打开的两个文件句柄f_r,f_w

with open('www.jsp','rb') as f_r,open('www_copy.jsp','wb') as f_w:

res= f_r.read() #通过f_r句柄把图片的二进制流读取出来

f_w.write(res) #通过f_w句柄把图片的二进制流写入 文件中

3、对图片,音频,视频读写

rb模式,读取二进制,不需要指定字符编码

#读取相片

with open('www.jsp','rb') as f:

res=f.read()print(res)

jpg=res

with open('www_copy.jsp','wb') as f_w:

f_w.write(jpg)

四 函数

4.1什么是函数?

函数指的其实一把工具。

4.2使用函数的好处:

1.解决代码冗余问题。

2.使代码的结构更清晰。

3.易管理。

函数的使用必须遵循: 先定义,后调用。

4.3函数定义语法:

def 函数名(参数1, 参数2...):

'''注释: 声明函数'''

逻辑代码

return 返回值

def: defind 定义。

函数名: 必须看其名知其意。

(): 接收外部传入的参数。

注释: 用来声明函数的作用。

return: 返回给调用者的值。

4.4定义函数的三种形式:

1.无参函数:不需要接收外部传入的参数

#1、无参函数

deflogin():

user= input('请输入用户名:').strip()

pwd= input('请输入密码:').strip()if user == 'YeZi' and pwd == '123':print('login successful!')else:print('login error!')#函数的内存地址

print(login)#函数调用

login()

2.有参函数:需要接收外部传入的参数

#2、有参函数#username,password 用来接收外部传入的值

deflogin(username,password):

user= input('请输入用户名:').strip()

pwd= input('请输入密码:').strip()if user == username and pwd ==password:print('login successful!')else:print('login error!')#函数调用#若函数在定义时需要接受参数,调用者必须为其传参

login('YeZi','123')

3.空函数:pass

#登录功能

deflogin():#代表什么都不做

pass

#注册功能

defregister():#代表什么都不做

pass

#还款功能

defrepay():pass

#...

4.5函数的参数:

#在定义阶段:x,y称为形参

deffunc(x,y):print(x,y)#在调用阶段:10,100 称之为实参

func(10,100)

4.6位置参数:

位置形参

位置实参

必须按照位置一一传参

#在定义阶段: 位置形参

def func(x, y): #x, y

print(x, y)#在调用阶段: 10, 100 称位置实参。

func(10, 100) #10 100

4.7关键字参数:

关键字实参

按照关键字传参

#位置形参x, y

deffunc(x, y):print(x, y)#在调用阶段: x=10, y=100称之为关键字参数。

func(y=111, x=10) #10 111

#不能少传

func(y=111) #报错TypeError#不能多传

func(y=111, x=222, z='333') #报错TypeError

4.8默认参数

在定义阶段,为参数设置默认值

def foo(x=10, y=20):print(x, y)#不传参,则使用默认参数

foo()#传参,使用传入的参数

foo(200, 300)

4.9函数嵌套的定义:

在函数内部定义函数。

函数对象:

函数的内存地址称之为函数对象。

函数的名称空间:

内置: python解析器自带的都称之为"内置名称空间"。

全局:所有顶着头写的变量、函数...都称之为"全名称空间"。

局部:在函数内部定义的,都称之为"局部名称空间"。

名称空间加载顺序:

内置 ---> 全局 ---> 局部

名称空间查找顺序:

局部 ---> 全局 ---> 内置

#函数的嵌套定义

deffunc1():print('from func1...')deffunc2():print('from func2...')#函数对象

print(func1)

python中day_python day02相关推荐

  1. python中day_python(day03)

    今天学习了常量,顾名思义,常量就是不能变值的一些常数,也就是说当你定义了一个常量,那么在你的程序中,是不能在进行改变了. 当然,常量几乎不会做单独存在的,你设置了一些常量或者变量,你都是希望它们能发挥 ...

  2. Python菜鸟入门:day02知识分类

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  3. 如何优雅的在python中暂停死循环?

    死循环 有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下 while True:run_your_code() 结束死循环 通常我们结 ...

  4. 关于python中的dict和defaultdict

    dict 在Python中如果访问字典中不存在的键,会引发KeyError异常,所以一般当我们比如统计一句话的词频时候,我们总是使用这样的处理方式: strings = ('puppy', 'kitt ...

  5. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  6. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  7. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  8. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...

  9. [翻译]Python中yield的解释

    问题: Python中yield关键字的作用是什么?它做了什么? 例如,我想理解以下代码 def node._get_child_candidates(self, distance, min_dist ...

  10. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

最新文章

  1. VUE的本地应用-V- bind
  2. python学习之掷骰子游戏
  3. MPEG1 Audio介绍
  4. 普通视图和物化视图区别
  5. php ajax实现分页效果
  6. h5微信本地调试 vue_vueh5中使用微信sdk
  7. RedMonk 2020 年 Q3 编程语言排行:Python力压Java和PHP,Rust 首次进入前 20
  8. android 全局dp单位,android应用开发之View的大小计量单位(px、dpi、dp、dip、sp)
  9. mysql 刘道成视频教程 第4-8课 --- 数据类型
  10. windows系统下,双网卡电脑更改默认路由的命令-转
  11. Android系统信息获取 之九:TelephonyManager类
  12. latex中嵌入视频文件
  13. 产品、技术和工程思维对工程师成长的影响
  14. python笔记:猜大小,随机数
  15. 西瓜错时上市销售,提高经济效益的背后是技术支持!
  16. 华为鸿蒙OS正式发布!教你如何升级
  17. 冷知识 - 你可能不知道的100个冷知识
  18. 初识vue的使用和设计模式
  19. 解决idea maven reimport失效问题
  20. java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. 解决window10播放.avi格式视频黑屏,只有声音没有视频0xc00d5212错误
  2. PhotoShop介绍
  3. 多目标跟踪算法SOART
  4. PS剪切图的基本操作
  5. python3.5安装scipy_Python3上的Scipy安装
  6. 数字虚拟人metahuman,苹果手机做动作捕捉
  7. 梯度散度旋度常用基本关系
  8. 利用fiddler抓包工具测试APP及高级应用
  9. 如何下载微信公众号音频,不需要插件,不安装软件
  10. Gram矩阵计算实例