Python很火,心里很慌,没吃过猪肉,也要见见猪走路。

  看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
  想综合起来练习一下Python的语法,就从最简答的冒泡排序开始吧。

  鉴于Python的灵活性,甚至可以不需要类,不需要main方法,仅仅写个方法然后执行方法就可以运行,
  以下简单尝试从类Class的角度来封装一个最最简单的方法,并通过main函数来指定调用

# 自定义测试类
class MyTestClass:
def __init__(self,s):
self.s = s def bubble_sort(self,s):
#for i in range(len(s)):
for i in range(0,len(s)):
#for j in range(len(s)):
for j in range(i+1,len(s)):
if s[i] < s[j]:
temp = s[i]
s[i] = s[j]
s[j] = temp
return s # 定义main方法
def main():
# 测试排序
s = [8, 9, 1, 3, 5, 7, 6]
obj = MyTestClass(s) print('类实例的属性')
print(obj.s) print('set排序之前的结果')
print(s)
obj.bubble_sort(s)
print('set排序之后的结果')
print(s)
for i in range(len(s)):
print(s[i]) if __name__ == '__main__':
main()

  运行结果

  

  东西手来还是折腾了一阵子的,冒泡排序本身没有任何可以说的,主要从语法角度来看待Python

  1,set集合,使用实例:s = [8, 0, 1, 3, 5, 7, 6]
    set数据,Python语法无需声明,直接使用(初始化即可),其元素是不可重复的。
  2,Python中函数第一个参数都是self,构造函数名称固定是__init__
  3,for循环遍历数组 for i in range(len(s)),遍历方式,if判断后面都要接冒号:,都跟传统的编程语言语法有一些差异。
    4,set集合赋值s[i] = X

  不得不服部分新人的学习能力,前段时间还在写C#,然后他自己觉得没啥意思,他的Leader安排他写Python作一些功能,然后哗哗啦啦就开始了,
  抽空交流之后发现人的Python已经熟练掌握了,正常的业务用Python实现起来毫无压力,不由得亚历山大,自己这点老本也吃不了几天了。

  记得2010年刚工作那会,部门就开始推广Python,云计算,那时候是谁愿意,公司提供资源学习,不强求成果,可惜当时无远见,拒绝了,现在想想是多么的血淋淋。
  虽然那时候对这些东西都没有概念,可见世界500强的领导也不是吃干饭的。
  曾经吹牛逼说,一门语言学会for循环,if else 判断之后就可以动手了,剩下的就是库函数的掌握以及技巧问题了,现在似乎该为当初吹的牛逼买单了。

  

  反思总结一下面对陌生技术的学习思路,更多的是一种道先行,把术放在后面,相信一开始都是从hello world入门的,而不是从迪杰斯特拉算法开始的。
  1,个人认为(仅仅是个人认为)搭环境没那么重要,环境自己搭有问题的话,可以先让人帮忙搭建起来,尽快尽快尽快动手,否则容易受挫,电脑玩的溜溜的人也不见得一开始是从背键盘字母,装系统开始的吧。
  2,先不要死磕概念和宏观上的东西,概念上的东西都是后面慢慢动手多了才理解的,在学校的时候,学了一点J2SE的语法,就开始死磕Java的那套SSH,最后第一份工作还是做了C#
  3,了解了最简单的语法之后,用自己认为最熟练最简单的方式来动手,记得当年死磕java中main函数的参数String[] args的含义,花了好大好大的功夫,实话说到目前也无果。
  4,想办法实践,尽管可能是工作中没有直接用到的,用A方法(语言)实现的东西,想办法用新学到的东西来实现一遍。

初试Python语法小试牛刀之冒泡排序的更多相关文章

  1. python入门4(冒泡排序)

    在学习了最基本的python语法后,我们来实践一个最简单的冒泡排序,检验一下自己是否入门. def bubble_sort(lists): # 冒泡排序 count = len(lists) for ...

  2. python排序之二冒泡排序法

    python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩 ...

  3. 对 Python 语法不够了解导致的 bug

    对 Python 语法不够了解导致的 bug. `in` '20' in '11264,6144,4096,3072,2048,1024,300,30' Out[7]: True a_list = ' ...

  4. python 笔记2:python语法基础

    python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...

  5. python语法快速入门(1)

    http://www.runoob.com/python/python-tutorial.html Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言 ...

  6. python语法笔记(四)

    1.对象的属性     python一切皆对象,每个对象都可能有多个属性.python的属性有一套统一的管理方案. 属性的__dict__系统     对象的属性可能来自于其类定义,叫做类属性:还可能 ...

  7. python语法-[with来自动释放对象]

    python语法-[with来自动释放对象] http://www.cnblogs.com/itech/archive/2011/01/13/1934779.html 一 with python中的w ...

  8. wxpython 支持python语法高亮的自定义文本框控件的代码

    在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keywordimp ...

  9. Python语法的转义字符

    Python语法的转义字符 转义字符 说 明 \ 续行符 \n 换行符 \0 空  \t 水平制表符,用于横向跳到下一制表位 \'' 双引号 \' 单引号 \\ 一个反斜杠 \f 换页 \0dd 八进 ...

随机推荐

  1. keras中VGG19预训练模型的使用

    keras提供了VGG19在ImageNet上的预训练权重模型文件,其他可用的模型还有VGG16.Xception.ResNet50.InceptionV3 4个. VGG19在keras中的定义: ...

  2. $inject

    function breadcrumb($parse, store) { } // 为了压缩 breadcrumb.$inject = ['$parse', 'breadcrumbStore']

  3. 让你简洁清晰真正的了解什么是JavaSCript

    学习JavaScript高级程序设计第三版第一步.JavaScript简介不光在这一本说介绍,很多书都提及到,我就简单的把重点记录下来,当做整理吧,以便自己及大家观看. 1995年,我出生了,Java ...

  4. 本文档教授大家在yii2.0里实现文件上传 首先我们来实现单文件上传

    第一步  首先建立一个关于上传的model层  如果你有已经建好的可以使用表单小部件的model层 也可以直接用这个.在这里我们新建一个新的model层 在model层新建文件  Upload.php ...

  5. C++学习(三十七)(C语言部分)之 链式栈(推箱子实现)

    用链表实现栈一开始在表头插入,就要一直在表头插入一开始在表尾插入,就要一直在表头插尾表头当栈底 也可以把表尾当栈底 实现的测试代码笔记如下: #include<stdio.h> #incl ...

  6. Javascript 2.8

    声明函数声明参数 function multiply(A,B,...N){}; 用return可以返回一个值/字符串/数组/布尔值 变量命名的Camel记号:从第二个单词开始把每个单词的首字母大写,其 ...

  7. 基于ajax 验证表单是否被占用----------------附:10.25日总结

    总得来说,今天的主要工作是注册页面的处理, 1.判断 用户名与密码是否为空值 ,两次密码框输入的值是否相同.判断邮箱过程中,有使用到正则表达式 2.用户名是否使用过,有用到了json与ajax的知识. ...

  8. 【转】python两个 list 获取交集,并集,差集的方法

    1. 获取两个list 的交集: #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] ...

  9. PythonStudy——Python 中Switch-Case 结构的实现

    学习Python过程中,发现Python没有Switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch-Case功能. 方法一 ...

  10. IntelliJ IDEA 新版发布:支持CPU火焰图,新增酷炫主题

    JetBrain 是一家伟大的公司,一直致力于为开发者开发世界上最好用的集成开发环境 就在上周,JetBrain 公司发布了 Java 集成开发环境 IntelliJ IDEA 最新版本 2018.3 ...