• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 浅谈python新手中常见的疑惑及解答

浅谈python新手中常见的疑惑及解答

作者:jingxian 字体:[增加 减小] 来源:互联网

jingxian 通过本文主要向大家介绍了浅谈,浅谈小学语文阅读教学,浅谈如何转化后进生,浅谈小学数学教学方法,浅谈幼儿心理健康教育等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1 lambda函数

函数格式是lambda keys:express   匿名函数lambda是一个表达式函数,接受keys参数,返回表达式的值。所以不用return,也没有函数名,经常用在需要key参数的函数中,比如sorted。

2 元组(),它是以逗号辨别的,而不是小括号。比如一个元素的元组新手经常写成(12),其实他会被解释成单个元素12.正确的写法应该是(12,),在元素后面加上逗号。

3 模块导入。比如

import random
print random.choice(range(10))

和

from random import choice
print choice(range(10))

新手会有一种误解,第二种方法只导入了一个函数,而没有把整个模块导入,这是错误的。整个模块其实已经被导入,只是那个函数的引用被保存了起来。所以from-import这种语法不会带来性能上的差异,也没有节省内存。

4 当你有许多module,比如几百个,想要使用时可能会想一个一个导入太麻烦,有没有简便的方法?答案是有的,就是将这些模块组织成一个package。其实就是将模块都放在一个目录里,然后再加一个__init__.py文件,python会将其看作为package,使用里面的函数就可以以dotted-attribute方式来访问。

5 参数传递可变对象是传引用的,不可变对象是传值的。那么什么对象是可变的,什么是不可变的。所有python对象都有三个属性:类型、标识符和值,如果值是可变的就是可变对象,如果值不可变就是不可变对象。像数字、字符串、元组都是不可变对象,剩下的列表、字典、类、类实例等都是可变对象。

6 迭代器的理解,是实现了迭代器协议的容器对象。自己实现一个迭代器,类中要有__iter__()方法,该方法返回一个对象。这个对象要有__next__()方法,在next方法中的适当位置返回StopIteration异常。迭代器不经常使用,所以不用太担心。有替代方法就是生成器。

class MyIterator(object):
  """docstring for MyIterator"""
  def __init__(self, num):
    self.num = num

  def __iter__(self):
    return self;

  def __next__(self):
    if self.num <= 0:
      raise StopIteration;
    
    self.num -= 1;
    return self.num;

for each in MyIterator(5):
  print(each);

-> 结果
</div>

7 生成器。函数中只要出现了yield语句就会将其转变成一个生成器。在遇见yield语句后会保存上下文环境,并退出函数。

注意:生成器中没有return语句。

def fun2(num):
  print("start generator");
  while(num>0):
    yield num;
    num -=1;

a=[each for each in fun2(5)]
print(a);->结果
start generator
[5, 4, 3, 2, 1]
</div>

学习过程中,难免出错。如果您在阅读过程中遇到不太明白,或者有疑问。

以上这篇浅谈python新手中常见的疑惑及解答就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>

您可能想查找下面的文章:

  • 浅谈五大Python Web框架
  • 浅谈python中的实例方法、类方法和静态方法
  • 浅谈编码,解码,乱码的问题
  • 浅谈编码,解码,乱码的问题
  • 浅谈Python的垃圾回收机制
  • 浅谈Python浅拷贝、深拷贝及引用机制
  • 浅谈Python类里的__init__方法函数,Python类的构造函数
  • 浅谈Python爬取网页的编码处理
  • 浅谈Python数据类型判断及列表脚本操作
  • 浅谈python对象数据的读写权限

相关文章

  • Python中字典的基本知识初步介绍
  • Python修改Excel数据的实例代码
  • Django接受前端数据的几种方法总结
  • python使用clear方法清除字典内全部数据实例
  • python rsa 加密解密
  • Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
  • Python中给List添加元素的4种方法分享
  • python使用正则表达式分析网页中的图片并进行替换的方法
  • 浅谈function(函数)中的动态参数
  • 用Python实现服务器中只重载被修改的进程的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 记录Django开发心得
    • python中的字典详细介绍
    • Python的collections模块中的OrderedDict有序字典
    • Flask框架的学习指南之开发环境搭建
    • 在Python的web框架中编写创建日志的程序的教程
    • Python网页解析利器BeautifulSoup安装使用介绍
    • python实现的一个火车票转让信息采集器
    • 精确查找PHP WEBSHELL木马的方法(1)
    • itchat和matplotlib的结合使用爬取微信信息的实例
    • Python实现CET查分的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有