python之路——15

复习

1.迭代器    1.可迭代协议:含有iter    2.迭代器协议:含有iter和next    3.特点:节省内存,逐一取值2.生成器    1.生成器函数        1.含有yield关键字        2.特点:1.调用后不执行,返回生成器                2.不断取值,遇到yield停止                3.取值方法: for、next、send、强制转换    2.生成器表达式

学习内容

1.内置函数    1.作用域相关        global 和globals() 不同 nonlocal 和 locals()不同    2.迭代相关        next() iter() range()    3.其他        1.dir——查看一个对象拥有的方法        2.callable——检测是否可调用        3.help        4.import 导入模块        5.open——文件操作        6.writable() readable()——检测文件是否可读/写        7.id() ——内存地址        8.hash ——字典的键,哈希产生一串数,标记内存地址,将值放入;字典的键必须为可哈希类型               ——hash值 在一次程序的执行中总是不变的        9.input        10.print 自带回车(end=‘\n‘);    # progress bar        11.exec 没有返回值,适合处理简单的流程控制;eval 有返回值,适合处理有结果的简单计算。 两者均可执行字符串类型代码——‘1+2+3+4‘        12.compile  将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。    4.数据类型        int bool complex float(可以写成分数的小数,即不包括无限不循环小数)                                # 354.123 = 3.54123*10^2 = 35.4123*10^1   浮点    5.进制转换        bin(0b) oct(0o) hex(0x)    6.数学运算        abs 绝对值        divmod(7,2)=(3,1)    7/2=3....1        round(3.14159,3) = 3.142        pow(2,3) = 8 幂运算   pow(2,3,3) = 2   2^3取余3=2        sum(iterable,start)        min(1,2,3,4) = min([1,2,3,4]) = 1      min(1,2,3,-4,key = abs) = 4        max

代码区

1.打印进度条

import time
for i in range(0,101,2):
     time.sleep(0.1)
     char_num = i//2      #打印多少个‘*‘
     per_str = ‘\r%s%% : %s\n‘ % (i, ‘*‘ * char_num) if i == 100 else ‘\r%s%% : %s‘%(i,‘*‘*char_num)
     print(per_str,end=‘‘, flush=True)

2.load......  点为动态

import time
print("Loading",end = "")
for i in range(6):
    print(".",end = ‘‘,flush = True)
    time.sleep(0.2)

3.注意名字指向内存地址,{}可变数据类型,容器数据类型,一个改变,都跟着改变

kvps ={‘1‘:1, ‘2‘:2}
thecopy = kvps
kvps[‘1‘] = 5
sum1 = kvps[‘1‘] + thecopy[‘1‘]
print(sum1)

4.练习题目

# 复数不能比较大小
# 只能在循环体中使用break
print(3>2==2) # 3>2--True   2==2--True

print(43>=1 and ‘A‘<‘b‘) # ASCII A-65 a-97   转换成ASCII比较
print(43>=1 and ‘A‘<‘b‘ and 1) # 返回1

print(‘abc‘>‘bca‘)   # 字符串首字母ASCII比较大小,  元祖不能比大小
print([1,2]>[2,1])   # 列表从第一个位置开始比

c = 5+6j
print(type(c.imag))
is 比较内存地址==  比较值

5.python2 与python3的区别

k = 1000
count = 0
while k>1:
     count += 1
     print k   #  python 2 语句
     k = k/2
     print(count)

6range切片

l = range(100)
print(list(l[0:3]))
print(l[98])
print(l[-2])
print(l[-10:])
l1 = l[:]
print(l)

7.默认参数陷阱问题, 类似于函数名字问题,

def extendlist(val,lis=[]):
     lis.append(val)
     return lis
list1 = extendlist(10)         # 函数返回lis 是内存地址,即list1指向同一个列表
list2 = extendlist(123,[])
list3 = extendlist(‘a‘)        # list3也指向lis,  lis指向的列表变了,所有的指向这个列表的变量值都变了
print(‘list1 = %s‘%list1)
print(‘list2 = %s‘%list2)
print(‘list3 = %s‘%list3)

8.删除list中的重复元素

li = [1, 3, 1, ‘1‘, ‘asd‘, ‘asd‘, ‘asd12‘]
li_new = []
for i in li:
     if i not in li_new:
          li_new.append(i)
print(li_new)

原文地址:https://www.cnblogs.com/wan2-0/p/10620921.html

时间: 2024-11-08 01:44:19

python之路——15的相关文章

python之路15:CSS

概述 CSS是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化.CSS规则由两个主要的部分构成:选择器,以及一条或多条声明,语法:style = 'key1:value1;key2:value2;' 如下图: 存在方式有三种:元素内联.页面嵌入和外部引入 元素内联在标签中使用 style='xx:xxx;' 1 <p style="background-color: aqua"> 2 test 3 </p> 在页面中嵌入

【python之路15】学习小结

一.集合数据类型(set):无序不重复的集合,交集.并集等功能 二.三元运算符 三.深浅拷贝 1)字符串和数字:深浅内存地址都一样 2)其他:浅拷贝:仅复制最外面第一层 深拷贝:除了最内层其他均拷贝 四.函数: 1)创建:def 函数名(参数) 2)返回值 return 返回值,如果不指定return则默认返回None 一旦遇到return后面的代码不再执行 3)参数 形参.实参 普通参数数量要一致并且一一对应 指定参数,执行参数的时候指定形参=实参 指定参数的默认值,默认值一定要放在参数的尾部

数学之路-python计算实战(15)-机器视觉-滤波去噪(归一化块滤波)

# -*- coding: utf-8 -*- #code:[email protected] #归一化块滤波 import cv2 import numpy as np fn="test3.jpg" myimg=cv2.imread(fn) img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY) #加上高斯噪声,能够參考曾经博文中的内容 ...... ...... #滤波去噪 lbimg=cv2.blur(newimg,(3,3)) cv2.imshow

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

Python之路【第三篇】:Python基础(二)

Python之路[第三篇]:Python基础(二) 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作.

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进

Python之路【第十九篇】:爬虫

Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. Requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. import

Python之路【第七篇】:线程、进程和协程

Python之路[第七篇]:线程.进程和协程 Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python # -*- coding:utf-8 -*- import threading import time   def show(arg):     time.sleep(1)     print 'thread'+str(arg)   for i in