review-1
# ### for 循环和序列的运用 # remember = ['从入门到放弃', '从入门到如土', 123, 'happy']
# for each in remember:
# print(each, end= '\n')
#
# happy= {'从入门到放弃', '从入门到如土', 123, 'happy'}
# for each in happy:
# print(each, end= '\n') #while 循环的使用
# '''
# 这是多行注释
# '''
# bingo = '小甲鱼是帅哥'
# answer = input('请输入小甲鱼想听的一户话:')
# while True:
# if bingo == answer:
# break
# answer = input('抱歉输错了,请再猜(答案正确才能退出游戏):')
# print('遗忘的速度是真的快') #符串拼接 and 转义字符 and 原始字符串 # 使用 "\" 可以进行字符转义
# “+”可以字符串拼接,“*”可以进行字符串翻倍操作
# 在字符串前面加“r”就表示是原始字符串。注意:在原始字符串最后不能加“\”
# 利用三重引号字符串可以实现跨越多行的字符串,一般用来实现多行注释。 # count = 1
# print('##登陆程序##')
# a = int(input('请输入答案:'))
# count = 1
# while a != 8:
# if count >= 4:
# print('太难猜了,不玩了')
# break
# a = int(input('答案错误,请输入正确答案:'))
# count += 1 ## type()和isinstance()
format
a = int(input('请输入年份:'))
b = a/4
if b == 0:
print('闰年')
else:
print('不是闰年') # is 和 == 的区别:前者用于判断两个变量引用对象是否是同一个,后者用于判断变量引用的值是否相等。
# type()函数用法:输入一个参数,返回参数的类型;isinstance()函数用法:isinstance(object,classinfo)。
# 利用切片操作、工厂方法、list方法等拷贝叫浅拷贝,只是拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。
# 利用copy中的deepcopy()方法进行的拷贝是深拷贝,外围和内部都进行了拷贝对象本身,而不是引用。
# 对于数字、字符串和其他原子类型的对象,没有拷贝这一说法,实际上都是以增加引用标签,如果对其重新赋值,也只是创建一个对象,替换掉旧的而已。
# 注意赋值和浅拷贝的区别。 # help(object)查看对象的更多信息;dir(object)显示对象的大部分相关属性名;object.__doc__显示对象相应的文档字符串。
# 列表解析表达式:[有关v表达式 for v in range(num)]:
# >>>[i** 2 for i in range(10)]
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
'''列表函数,
append():L.append(object) -> None -- append object to end、
extend():L.extend(iterable) -> None -- extend list by appending elements from the iterable
insert():L.insert(index, object) -- insert object before index
index(): L.index(value, [start, [stop]])
pop():L.pop([index]) -> item -- remove and return item at index (default last)
count(...):L.count(value) -> integer -- return number of occurrences of value.
copy(...):L.copy() -> list -- a shallow copy of L
remove(...):L.remove(value) -> None -- remove first occurrence of value.
Raises ValueError if the value is not present.
reverse(...):L.reverse() -- reverse *IN PLACE*
''' '''元组
1、元组和列表的使用和操作十分相似,不同带你在于列表可以修改里面的内容,而元组不行。
2、“,”是创建元组的关键,
3、元组的内容是不可修改的,但是可以通过元组连接的方式实现元组更新,也可以是索引访问、运算符运算、切片的操作
4、所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组。
x, y, z = 1, 2, 3
h = x,y,z
type(h)
<class 'tuple'>
元组函数:
tuple() -> empty tuple
tuple(iterable) -> tuple initialized from iterable's items
T.count(value) -> integer -- return number of occurrences of value
T.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
''' '''
序列、格式化、函数
1、序列:列表、元组、字符串统称为序列,都是可迭代对象,存在很多相同之处,也存在细小的差别。
相同之处:1)创建、list(iterable)、tuple(iterable)、str(iterable)
2)拼接、切片、成员操作符、关系操作符等。
3)都可以进行索引
不同之处:1)列表和元组可以使用的BIF:min()、max()、len()等,
2)字符串和元组的内容都不可以修改,而列表的内容可以修改。
3)列表和字符串有pop()、reverse()等方法,而元组不行。 2、函数:形参、实参、关键字参数、默认参数、可变参数(在参数面前加上“*”即可),当一个函数定义中
可变参数还需要其他参数时,需要默认参数配合使用,否则会出错。
3、一个函数最多只能有一个return,如果需要传回多个值,采用列表等形式传回;
如果没有return,函数返回一个None对象。
4、内部函数的整个作用域都在外部函数的作用域之内,即在外部函数外无法调用内部函数;
闭包:在一个内部函数里对外部作用域的变量(但不是全局变量)进行引用,那么内部函数被认为是闭包;
闭包的创建和调用:
def funX(x):
def funY(y):
return x*y
return funY
>>>i = funX(5)
>>>type(5)
<class 'int'>
>>>type(i)
<class 'function'>
>>>i(8)
40
>>>funX(5)(8) ***
40 5、匿名函数:lambda 变量:表达式,用lambda创建匿名函数时,返回一个函数类型的对象。
>>>g =lamdba x,y:x+y
>>>g(3,4)
7 7、filter函数():filter(function or None, iterable) --> filter object Return an iterator yielding those items of iterable for which function(item)
is true. If function is None, return the items that are true.
>>>list(filter(None,[1,0,False,True]))
[1,Ture]
>>>list(filter(lambda x:x%2,range(10))) #功能,返回10以内的奇数 8、map()函数: map(func, *iterables) --> map object
|
| Make an iterator that computes the function using arguments from
| each of the iterables. Stops when the shortest iterable is exhausted.
>>>list(map(lambda x:x*2,range(5)))
[0,2,4,6,8] 9、格式化有采用“%”和format函数两种方式。
''' '''
变量作用域问题:
1、在函数内部可以访问全局变量,也可以使用‘global’关键字对全局变量进行“修改”;
如果不采用global关键字进行修改,那么对全局变量进行修改的本质是创建一个与全局变量
名称相同的局部变量。
2、在局部函数里,只能对外部函数的局部变量(非全局变量)进行引用,而不能进行修改,
除非使用 local 关键字,或者用容器类型的变量规避这个问题。 '''
review-1的更多相关文章
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 程序员的寄望与哀伤
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
- AutoMapper:Unmapped members were found. Review the types and members below. Add a custom mapping expression, ignore, add a custom resolver, or modify the source/destination type
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 应用场景:ViewModel==>Mode映射的时候出错 AutoMappe ...
- Git和Code Review流程
Code Review流程1.根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api.git checkout -b fea ...
- 故障review的一些总结
故障review的一些总结 故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题.并确定此类 ...
- review简历之感想和建议
最近帮很多朋友review他们的简历,总结起来存在以下问题: 1,简历太多页了.请尽量不超过两页.一般地,每个hr阅读简历的时间大概在20s甚至更少,写那么多页不仅毫无必要,而且有害. 而且我怀疑一般 ...
- Plant Design Review Based on AnyCAD
Plant Design Review Based on AnyCAD eryar@163.com Abstract. AVEVA Review is used to 3D model visuali ...
- git review & devops过程
自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file, ...
- 自动提交Git branch代码评审到Review Board系统
背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...
- 如何搭建开源code review gerrit服务器
搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...
随机推荐
- P4513 最大连续字段和 (线段树+区间合并)
题目链接:https://www.luogu.org/problem/P4513 题目大意:单点修改和求区间最大连续字段和 解题思路:很容易想到是用线段树来做,但是如何进行维护呢? 每个维护区间 [L ...
- Tensorflow 多gpu训练
Tensorflow可在训练时制定占用那几个gpu,但如果想真正的使用多gpu训练,则需要手动去实现. 不知道tf2会不会改善一下. 具体参考:https://wizardforcel.gitbook ...
- Codeforces 939 时区模拟 三分
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- hdu 3530 单调队列最值
/** HDU 3530 单调队列的应用 题意: 给定一段序列,求出最长的一段子序列使得该子序列中最大最小只差x满足m<=x<=k. 解题思路: 建立两个单调队列分别递增和递减维护(头尾删 ...
- Python核心技术与实战——八|匿名函数
今天我们来学习一下匿名函数.在学习了上一节的自定义函数后,是时候了解一下匿名函数了.他们往往非常简短,就一行,而且有个关键字:lambda.这就是弥明函数. 一.匿名函数基础 匿名函数的基本格式是这样 ...
- Python中numpy的应用
#创建ndarray import numpy as np nd = np.array([2,4,6,'])#numpy中默认ndarray的所有元素的数据类型是相同,如果数据的类型不同,会统一为统一 ...
- spring动态调用方法
有的时候为了程序的灵活性,需要根据参数动态的调用方法.代码框架大致spring为主,下面是具体代码: 接口: 实现类(实现类中有一个从spring容器中取的对象) 这是最初我直接用反射去调用的代码: ...
- Tymeleaf模板引擎背景图片路径书写方式
<body style="background: url(../static/assets/img/bg-so-white.png);" th:style="'ba ...
- django的自定义约束
准备阶段 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是templa ...
- Apach Hadoop 与 CDH 区别
1.Apache Hadoop 不足之处 • 版本管理混乱 • 部署过程繁琐.升级过程复杂 • 兼容性差 • 安全性低 2.Hadoop 发行版 • Apache Hadoop • Cloudera’ ...