# ### 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的更多相关文章

  1. 我们是怎么做Code Review的

    前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...

  2. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

  3. 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 ...

  4. Git和Code Review流程

    Code Review流程1.根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api.git checkout -b fea ...

  5. 故障review的一些总结

    故障review的一些总结 故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题.并确定此类 ...

  6. review简历之感想和建议

    最近帮很多朋友review他们的简历,总结起来存在以下问题: 1,简历太多页了.请尽量不超过两页.一般地,每个hr阅读简历的时间大概在20s甚至更少,写那么多页不仅毫无必要,而且有害. 而且我怀疑一般 ...

  7. Plant Design Review Based on AnyCAD

    Plant Design Review Based on AnyCAD eryar@163.com Abstract. AVEVA Review is used to 3D model visuali ...

  8. git review & devops过程

    自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file,   ...

  9. 自动提交Git branch代码评审到Review Board系统

    背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...

  10. 如何搭建开源code review gerrit服务器

    搭建环境:Ubuntu 14.04 一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.ora ...

随机推荐

  1. python中字典的美化输出

    一.背景 如果一个字典长度很大,直接print输出则比较难看,我们需要美化输出,可以借鉴json import json beautiful_format = json.dumps(your_dict ...

  2. Python自动化学习--控制浏览器

    from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...

  3. Beta冲刺-(1/3)

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cnbl ...

  4. python3-使用__slots__

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...

  5. IntelliTrace调试

    当您进行调试时,IntelliTrace 将在后台收集有关托管应用程序的数据,其中包括来自许多框架组件(例如 ADO.NET.ASP.NET 和 System.XML)的信息.这些 IntelliTr ...

  6. java实现一个简单的计数器

    package com.fengunion.sf; import org.junit.platform.commons.util.StringUtils; import java.util.HashM ...

  7. java Thread源码分析

    一.使用 java 多线程 java多线程其中两种使用方式: 1.继承 Thread 类 2.实现 Runnable 接口 public class ThreadTest { public stati ...

  8. thinkphp5.0.19 request

    一.请求类型 request类中 [F:\phpStudy\WWW\csweb\thinkphp\library\think\Request.php] 获取请求类型的方法分别是: isGet() .i ...

  9. postman(二):详解在Pre-request Script中如何执行请求

    一.这里以Pre-request Script标签来介绍 postman提供了postman提供了一个"Send a request"代码段,他是已经封装好的发送请求的方法 一个& ...

  10. selenium定位

    https://www.cnblogs.com/programer-xinmu78/p/10881766.html https://www.cnblogs.com/eastonliu/p/908830 ...