`
303178394
  • 浏览: 37519 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

沉默成本,跪在坚持----Java程序员学Python学习笔记(一)

阅读更多
  搬运工又来了,从自己的logdown博客搬东西过来了。

  厦门已入秋,天气已凉,看着窗外高架上奔驰的车辆,突然觉得自己好久没写博文了,该动动手了。今天的主题还是分两块,一块是随笔,说说沉默成本,另一块则是把之前python学习的一些笔记整理下发出来。
  有时候当做一个事情已经投入很大一块成本,这时候想放弃就是一件难事,就算知道他是错的。
  举个栗子吧,前天和同事去吃自助,感觉很一般,没那么好吃,但是钱都花了还是自助,不好吃也得吃回本。又比如,有时候等的士,等了20分钟发现这个路段很难打的,但是已经等了这么久了,走了不是白等,干脆继续等下去。这些都是沉没成本!经常困扰我们的问题就是“我们已经投入了这么多了……”“我们已经走了这么远了……”“我们已经牺牲了这么多了……”。纠结于过去的沉没成本很容易让人犹豫不决。
  有时候有些项目,进行了一半,需求、设计全都做完了,编码已经开始了,突然被领导喊停,也就是不纠结与沉没的成本,这也许是对的,这也是领导的决策,但做的人肯定心里还是会耿耿于怀。我也不清楚这些项目坚持下去能否成功,毕竟有的项目中还是有些亮点让我觉得他有价值的。放弃只是出于公司整体策略、人力物力等考虑。
  坚持了最后失败了那是固执不懂变通跪在坚持,中途转向失败了,那就是不够坚持。坚持了成功了,那就是跪在坚持,转向了成功了那就是懂得取舍。可见决策是多么奇妙而又结果导向的事情。
  总之我想说的就是,决策时候别太在乎那块已经投入的成本,单纯判断事情的对错是非去做决定吧。程序员就是烦,这么一句话就balabala了这么多,开始进入正题。
 
  学习python,我找了挺多书的,主要是Head First Python(其实我很喜欢这个系列的书的),昨天伯乐在线的编程大赛的语言识别器,我也用学到的python做了个版本,之后有机会也发出来和大家分享下。
  版本:python2.6
  系统:centos
 
  1、python是一种动态范型的语言。
    比如他的命名可以很灵活:movies = [“了不起的盖茨比”,”环太平洋”,”摩登时代”],不用声明变量类型,这样就定义了一个列表。
   
  2、而列表中可以用的方法很多:
  >>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b', '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3']

“**打印出列表**
>>> print(movies[0])
了不起的盖茨比

** “打印出列表中某个索引的值**
>>> movies.pop()
'\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3'

**“堆栈推出最尾巴的一个元素**
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b']
>>> movies.append("摩登时代")

**“在最尾加上**
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b', '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3']
>>> movies.extend(["god is gril","roma love"])

**“合并上另外一个列表**
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b', '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3', 'god is gril', 'roma love']
>>> movies.remove("roma love")

**“移除指定索引的列表元素**
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b', '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3', 'god is gril']
>>> movies.insert(1,1989)

**“在指定位置插入**
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', 1989, '\xe7\x8e\xaf\xe5\xa4\xaa\xe5\xb9\xb3\xe6\xb4\x8b', '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3', 'god is gril']

  另外还有很多方法,比如len(movies)是获取列表的长度,if "god is girl" in movies:可以判断列表中是否有某个值
 
三、说到列表就顺便说map(我也不知道python中怎么叫他,反正我用java习惯这么叫的了)
  translate = {'./langs/eng_com.dic':'English','./langs/de.dic':'Deutsch','./langs/fr.dic':'French','./langs/portugueseU.dic':'PortugueseU','./langs/es.dic':'Spaish'};
 
  这就是一个map,而底层的switch case,其实也就是用这个实现的,比如,translate.get(filename),也就相当于switch(filename) case 'xxx':xxx; case 'yyy' yyy;
 
四、for 循环
  for 目标标示符 in 列表 :
  列表处理代码

注意:python是一个很讲究缩进的程序语言,同级的列表处理代码一定要缩进方式相同。

>>> for movie in movies:
...     print(movie);
...
了不起的盖茨比
1989
环太平洋
摩登时代
god is gril

**python的for循环很灵活,比如我用for data in open(filename):这样data就是文件中每一行的内容,诸如此类的应用例子很多  **
五、while循环
具体使用方式大概类似于for,相比之下,没有特殊操作,都用for

>>>
count = 0;
while count < len(movies):
...  print(movies[count])
...  count=count+1
...
了不起的盖茨比
环太平洋
摩登时代

六、单引号和双引号
  python中单引号和双引号作用相同,如果要打印双引号可以用\字符或者单引号方式
  >>> print('"ddd"')
"ddd"
>>> print("\"ddd")
"ddd

七、大小写
  python是敏感型语言,msg 和MSG是不同的对象
 
八、列表中可以嵌套列表
  >>> movies = ["了不起的盖茨比",2013,["小李二多",["A","B","C"]],"摩登时代",2012,["徐挣",["D","E"]]]
>>> print(movies)
['\xe4\xba\x86\xe4\xb8\x8d\xe8\xb5\xb7\xe7\x9a\x84\xe7\x9b\x96\xe8\x8c\xa8\xe6\xaf\x94', 2013, ['\xe5\xb0\x8f\xe6\x9d\x8e\xe4\xba\x8c\xe5\xa4\x9a', ['A', 'B', 'C']], '\xe6\x91\xa9\xe7\x99\xbb\xe6\x97\xb6\xe4\xbb\xa3', 2012, ['\xe5\xbe\x90\xe6\x8c\xa3', ['D', 'E']]]
>>> print(movies[2][1][1])
B
>>> print(movies[5][1][1])
E

九、if
If 条件:
True处理代码
Else:
False处理代码

**注意,python中的True和False首字母要大写**
十、isinstance
  类似java的instanceof
  >>> isinstance(movies,list)
True

十一、BIF内建函数

比如有open() len() isinstance()等。

用这个命令去查看,dir(__builtins__)

列表中的东西可以用help命令去查看,比如
Help(isinstance)

十二、定义函数
def 函数名 (参数):
函数代码组

比如
>>> def printList (theList):
...   for obj in theList:
...     if(isinstance(obj,list)):
...       printList(obj)
...     else:
...       print(obj)
...
>>> printList(movies)
了不起的盖茨比
2013
小李二多
A
B
C
摩登时代
2012
徐挣
D
E


今天就先到这里。可能有点乱,等全部写完以后做个目录吧。





 

2
4
分享到:
评论
5 楼 303178394 2013-09-27  
kanme818 写道
303178394 写道
kanme818 写道
这不是head first python第一章么,楼主还是一口气看完这本书吧。

看的差不多了,都是写成word,慢慢的搬博客,顺便当复习。

刚开始看

PYTHON篇感觉没head first design的对象村有意思 整个系列还是挺不错的,都是很轻松的图文学习
4 楼 kanme818 2013-09-27  
303178394 写道
kanme818 写道
这不是head first python第一章么,楼主还是一口气看完这本书吧。

看的差不多了,都是写成word,慢慢的搬博客,顺便当复习。

刚开始看
3 楼 303178394 2013-09-27  
kanme818 写道
这不是head first python第一章么,楼主还是一口气看完这本书吧。

看的差不多了,都是写成word,慢慢的搬博客,顺便当复习。
2 楼 冬天秋天 2013-09-27  
有时候当做一个事情已经投入很大一块成本,这时候想放弃就是一件难事,就算知道他是错的。
1 楼 kanme818 2013-09-27  
这不是head first python第一章么,楼主还是一口气看完这本书吧。

相关推荐

    B站黑马程序员Python教程学习笔记.zip

    在B站黑马程序员的Python教程中,你将深入理解Python的基础概念,包括: 1. **变量与数据类型**:Python支持多种数据类型,如整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。此外,还有列表(list...

    java For python 程序员

    1. Java教程是为Python程序员准备的,目的是帮助已经熟练使用Python的开发者快速学习Java语言,并迁移到Java编程环境上。 2. Java教程同样适合那些想掌握大数据基础技能的算法工程师,因为Java是处理大数据领域中...

    统计学习方法笔记-基于Python算法实现源码.zip

    统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习...

    黑马程序员Python学习路线图.jpg

    黑马程序员Python学习路线图;Python基础、Python高级、前端开发、Web开发、爬虫开发、自动化运维

    j2ee笔记-JAVA程序员JAVA工程师面试必看

    在Java开发领域,J2EE(Java 2 Platform, Enterprise Edition)是企业级应用开发的重要框架,它为构建分布式、多层架构的应用提供了全面的支持。对于Java程序员和工程师来说,掌握J2EE的相关知识是面试中必不可少的...

    java2python--java代码转python工具

    Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...

    java程序员早期面试题汇总.zip

    java程序员早期面试题汇总 BAT经典面试题汇总.pdf Java常考面试题.pdf java面试题(题库全).doc java面试题-外企软件工程师面试题大全.rar 程序员面试题精选100题.pdf ... --------------------------------...

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心

    黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心

    java学习路线(鱼皮)

    Java学习路线(鱼皮)是一条完整、实用、开源的学习路线,旨在帮助学习者快速掌握Java开发的所有知识点,并提供了丰富的资源推荐和学习建议,以便学习者更好地学习和掌握Java开发技术。 知识点: * Java编程基础 *...

    小甲鱼《零基础入门学习Python》学习笔记:知识点+课后习题答案(前25课)

    Python语言被归类为脚本语言,它允许程序员通过简单的代码完成复杂的任务,这使其在开发效率上具备优势。脚本语言通常以解释执行的方式运行,不需要编译过程,这使得其开发速度通常快于编译型语言,比如C语言、C++和...

    JAVA程序员简历模板(最新版)

    在创建一份专业的JAVA程序员简历时,首先要明确的是,这份文档将是你在求职市场上的“名片”,它应该清晰、准确地展示你的技术能力、项目经验和教育背景。以下是一个详细的模板,帮助你构建一个有吸引力的JAVA程序员...

    Java程序员学习路线及内容

    Java程序员学习路线通常包括以下几个阶段: 1. 基础知识阶段: - 学习Java语言的基本语法、数据类型、运算符等基础知识。 - 理解面向对象编程的概念,掌握类、对象、继承、多态等相关知识。 - 学习异常处理、...

    java程序员转正ppt

    作为一名Java程序员,应当包括自己的教育背景、编程经验、项目经历以及对Java语言的理解。 2. **技术成长**: - **对象理解**:深入理解Java对象的创建,如String的两种初始化方式,以及内存中的变量池、堆和栈的...

    基于Html、Java、Shell、Python技术的Java程序员“一生”学习资源汇总与复习指南

    本项目为Java程序员量身打造,涵盖了Html、Java、Shell、Python等技术的全面学习资源,总计1764个文件,其中包括1123个PNG图片、...这些资源旨在助力Java程序员实现“终身学习”,助力其在多技术领域持续成长和精进。

    程序员学习资料综合

    【标题】:“程序员学习资料综合”这一资源集合涵盖了IT编程领域的广泛学习材料,旨在为程序员提供全面的学习资源,包括但不限于Java、Python、大数据以及数据库等多个关键领域的知识。 【描述】:这个压缩包文档是...

    java程序员面试简历 WORD 模版

    Java程序员在求职过程中,一份优秀的简历是至关重要的。下面我们将详细探讨如何利用提供的"JAVA 个人简历模版"来创建一份吸引人的Java程序员简历,并理解其中包含的关键知识点。 首先,标题"java程序员面试简历 ...

    黑马程序员2018python爬虫课件完整版

    在这个完整的课程中,你将深入理解Python爬虫的基本原理,并学习到一系列实用的技巧。 首先,Python之所以被广泛用于爬虫开发,是因为它简洁明了的语法和丰富的第三方库。比如,`requests`库用于发送HTTP请求,`...

    JAVA程序员面试32问

    JAVA程序员面试32问------------JAVA程序员面试32问------------JAVA程序员面试32问------------

Global site tag (gtag.js) - Google Analytics