博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
two
阅读量:5293 次
发布时间:2019-06-14

本文共 3387 字,大约阅读时间需要 11 分钟。

一、课堂代码敲一遍

此处省略,内容可参考课堂记录

ps:选中 Ctrl+/ 注释     Crtl+d 复制当行内容     Tab   往右四个空格      Shift+tab  往左减四个空格

二、课堂记录

  • 数据类型剩余的内置方法

        列表类型内置方法 

        https://www.cnblogs.com/kermitjam/p/10810572.html?tdsourcetag=s_pctim_aiomsg

        

        Insertindexvalue)  value=object

         Indexvalue)

 

          浅拷贝与深拷贝

浅拷贝:拷贝的是引用,所有对象都会指向此地址 , 对这个内存地址的改动,都会影响到引用到这个对象

Copy完全拷贝 只拷贝当前的  在内存中弄了一个新的内存地址,把内容拷贝进去

但如果直接赋值(内存地址同时赋值),所以值会随着原来的变动而变动

浅拷贝不会拷贝对象内部的子对象

 

 

Python中对象的赋值都是进行对象引用(内存地址)传递

使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用.

如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.deepcopy()进行深拷贝

总结:

1. 赋值是将一个对象的地址赋值给一个变量,让变量指向该地址( 旧瓶装旧酒 )。

2. 浅拷贝是在另一块地址中创建一个新的变量或容器,但是容器内的元素的地址均是源对象的元素的地址的拷贝。也就是说新的容器中指向了旧的元素( 新瓶装旧酒 )。

3. 深拷贝是在另一块地址中创建一个新的变量或容器,同时容器内的元素的地址也是新开辟的,仅仅是值相同而已,是完全的副本。也就是说( 新瓶装新酒 )。

 https://blog.csdn.net/w494675608/article/details/82114798

https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html

 

Sort()正序

Sortreverse=true)降序

 

 

字典类型内置方法  

 

字典 key value)

Get 保证程序不会报错 会返回一个error  dict.get(‘没有的’) 返回error

有值的还是原来的,及时你在get里赋了一个新的 没值的你可以在get里赋值

Pop() 取  可以取完直接赋值

Popitem()随机取出字典中的某个值 字典是无需类型 数量少的时候可能会取出最后一个 多的时候一般都是随机了

 

元组类型( ……)

注意:元组与列表的区别,元组是不可变类型(修改 内存地址不是原来的地址了 所以原来指向的内容当然不可变了,所以一开始要赋值),列表是可变类型(修改 内存地址还是原来的)

注意切片 顾头不顾尾

 

集合类型 { , , ……} 自带默认去重功能  

爬虫会用到

集合是无序的,去重数据每次位置都会变

注意字典和集合都是{}

 

  • 字符编码

https://www.cnblogs.com/kermitjam/p/10810583.html

 

 

  • 文件处理

wt write txt

不写 就默认在当前python包里当前/.py文件(同一级别)目录下的一个txt 或者你可以直接r 文件的绝对路径

copy path赋值文件目录绝对路径

注意路路径问题 在前面加上r   //r‘文件路径’

https://blog.csdn.net/u011242657/article/details/64437612

Os不会自动帮你回收文件资源 会帮你回收python解释器的资源

所以需要你手动关闭文件资源f.close()

 

追加at 在后面追加

写入wt  在原基础上改动

\n换行

 

 

  • 文件处理之上下文管理

withwith会自带close()功能,会在文件处理完后自动调用close()关闭文件

 

  • 图片与视频的读写操作

从网站爬得一个图片的二进制流printres.Content) 然后将二进制流写入‘大帅比.jpg’中

 

将视频二进制流写入内存,再将内存的东西读出写入

 

 

  • 函数基础

函数特点:复用 结构清晰

函数:函数相当于工具,需要事先准备好,在需要时再使用

ways:必须先定义,后调用

语法:

     def cup(参数1,参数2...):   //可放可不放 参数是为了接受外部传来的参数

‘’’

函数的声明 说明函数是干嘛用的 写好注释

‘’’ 

四个空格(tab函数整体代码(逻辑代码)

          return 函数返回值

 

.strip()去除用户输入的空格

注意:函数体内的代码必须要写在函数体内 // tab

出现的txt 是以用户名字命名的txt

 

 

函数在定义阶段发生的事情

1.先打开python解释器

2.加载 .py文件

        3.python只检测有无语法错误,不会执行函数体代码  所以定义阶段不会报错

但是调用阶段会执行函数体代码 如果你还没有定义过这个函数 自然会报错

 

 

三、用函数实现登录功能

1 def login(): 2  3     number = 0 4  5     # 打开文件读取用户信息 6     with open('users.txt', 'r', encoding='utf-8') as f: 7         res = f.read() 8         print(res) 9 10         # 普通赋值11         # list1 = res.split(':')12         # username = list1[0]13         # password = list1[1]14         # print(username, password)15 16     # 解压赋值17     username, password = res.split(':')18 19     flag = True20 21     while flag:22         # 让用户输入用户名23         user = input('请输入用户名:').strip()24 25         # 判断用户名是否存在26         if username == user:27 28             # 如果number==3,则表示输入密码错误超过或等于三次29             if number == 3:30                 break31 32             while number < 3:33 34                 # 让用户输入密码35                 pwd = input('请输入密码:').strip()36 37                 # 判断密码是否正确38                 if password == pwd:39 40                     print('登录成功!')41                     # 登录成功后,修改flag为False,退出所有循环42                     flag = False43                     break44 45                 else:46                     print('登录失败!')47                     # 密码输入错误,则number +1,循环次数 -148                     number += 149         else:50 51             print('用户名不存在,请重新输入!')52 53 54 login()
View Code

 

 

 

 

 

 

 

 

 

 

posted on
2019-06-13 00:13 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/LettersfromSuperz/p/11013640.html

你可能感兴趣的文章
81、iOS本地推送与远程推送详解
查看>>
C#基础_注释和VS常用快捷键(一)
查看>>
虚拟DOM
查看>>
uva 11468 Substring
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
BootStrap2学习日记2--将固定布局换成响应式布局
查看>>
关于View控件中的Context选择
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
R语言-rnorm函数
查看>>
Spark的启动进程详解
查看>>
Java 字符终端上获取输入三种方式
查看>>
javascript 简单工厂
查看>>
java调用oracle存储过程,返回结果集
查看>>
使用命令创建数据库和表
查看>>
数据库的高级查询
查看>>
HttpClient(一)-- HelloWorld
查看>>
dump调试函数
查看>>
Android 利用Sharp样式设置文本框EditText圆角形状
查看>>
[YTU]_2443 ( C++习题 复数类--重载运算符3+)
查看>>
sdut_1189
查看>>