two

two

一、课堂代码敲一遍

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

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)降序

 

 

字典类型内置方法  

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

 

字典 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 = True
20 
21     while flag:
22         # 让用户输入用户名
23         user = input('请输入用户名:').strip()
24 
25         # 判断用户名是否存在
26         if username == user:
27 
28             # 如果number==3,则表示输入密码错误超过或等于三次
29             if number == 3:
30                 break
31 
32             while number < 3:
33 
34                 # 让用户输入密码
35                 pwd = input('请输入密码:').strip()
36 
37                 # 判断密码是否正确
38                 if password == pwd:
39 
40                     print('登录成功!')
41                     # 登录成功后,修改flag为False,退出所有循环
42                     flag = False
43                     break
44 
45                 else:
46                     print('登录失败!')
47                     # 密码输入错误,则number +1,循环次数 -1
48                     number += 1
49         else:
50 
51             print('用户名不存在,请重新输入!')
52 
53 
54 login()
View Code

 

 

 

 

 

 

 

 

 

 

posted on 2019-06-13 00:13 LettersfromSuperz 阅读( ...) 评论( ...) 编辑 收藏

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值