有心学习一下Python,多门技术多条路啊。经历了找教程,看代码,写demo,这东西入门容易精通难啊!又因为请了两周婚假彻底忘光光。想了想自己还是边复习边写点什么东西吧。很多技术,新东西都是看了n多,看了n多但是却不会写,不会用。一是没有实践,二是没有养成那种思维方式!这篇就当是一篇流水账好了!

  Python 是 What?

  1.解释性语言(运行前不需要编译,如php)

  2.动态类型语言(声明变量的时候不需要说明变量类型)

  面向对象的Python

  Python非常适合oop。函数和类都是第一类对象,函数既能返回函数类型也可以接受函数输入。支持通过组合和继承的方式定义类。注意:Python中没有访问说明符(public,private),这么设计的依据是“大家都是成年人了 23333”

  Python安装及编译器配置及基础教程

  这个就根据自己喜好了,可以用文本编辑器Vim或者Sublime Text,或者Pycharm,或者用Eclipse+Pydev 或者 VS2013 + python tools (请允许我保留我大vs一席之地!)

  入门教程:基础教程 博客类教程: Vamei大哥的python系列  廖雪峰老师的博客教程

  我接下来写的基础部分基本都是综合了两位大神的一些内容进行了实践,链接已上!支持开源,保护版权!

  那么接下来,我将尝试根据自己遇到的困难,克服自己的懒惰与眼高手低,逐一的去记录python的优雅!

  Action!

  Python中的屠龙刀(用好了妙用无穷哦!)

  一、 切片

  list!众所周知,列表。有一系列内置方法的列表,如len(filelist) ,  filelist.append('xx.jpg')   , filelist.insert(1,'xx.jpg')  , filelist.pop()  filelist.pop(index)等

  tuple!元组,与list不同的是 元组初始化之后无法改变,所以没有list的insert() append()等方法,也不能重新赋值!

  有一个tuple如下:

 t = ('a','b',['c','d'])
t[0] = 'A' #error
t[3][0] = 'C' #right

  好了,其实这也没什么难得,比c指针哪里好理解多了!谈这两个的原因是因为他设计到了python的高级特性:切片!

  对于一个list,打印出其所有元素怎么办,首先想到的是for循环遍历,在python中你可以这样:

 >>>L = list(range(100))
>>>L
[0,1,2,3,4,5...,99] >>>L[:]
[0,1,2,3,4,5...,99] >>>L[0:10] #取索引0-索引10之间的数字(索引从0开始可以省略为L[:10])
[0,1,2,3,4,5,6,7,8,9] >>>L[-10:] #取倒数索引后10个数字
[90,91,92,93,94,95,96,97,98,99] >>>L[10:20:2] #取索引10-索引20之间的数,每隔2个取一个
[10,12,14,16,18]

  tuple也可以这样,切片后得到的还是一个tuple,字符串也支持切片!

 >>>'ABCDEFG'[:3]
'ABC'
>>>'ABCDEFG'[::2]
'ACEG'

  list排序

  1.list.sort(func=None,key=None,reverse=False)

  2.sorted(list)

  当然,访问list或者tuple的时候要注意索引不要超出,毕竟大家都是成年人了。。。不得不说,这个切片太方便了。

  二、迭代

  这个就不用多说了,在c#中经常用到,在访问数组,List,字典等等的时候经常foreach了!在Python中也一样,只要是Iterable类型就可以进行迭代!

  

 >>>from collections import Iterable
>>>isinstance('abc',Iterable)#字符串是否可迭代
True
>>>ininstance([1,2,3],Iterable)#列表是否可迭代
True #迭代时可以引用多个变量
>>>for x,y in [(1,1),(2,2),(3,3)]:
print(x,y)
1 1
2 2
3 3
#等价于
>>>for item in [(1,1),(2,2),(3,3)]:
print(item[0],item[1]) #python 内置的enumerate可以变列表变成索引-元素对
>>>for i,value in enumerate(['a','b','c'])"
print(i,value)
0 a
1 b
2 c

(未完待续。。。下一篇,lambda函数 列表生成器 装饰器)

  

  

自学Python一 迷茫中的开端!的更多相关文章

  1. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  2. 孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录

     孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...

  3. 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录

    孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...

  4. 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成

    孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...

  5. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  6. 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获

    孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...

  7. 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘

    孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...

  8. 自学python中的心得

    以后的日子里我将与可爱的亲们一起度过我自学python的岁月,请博客园里的大佬们监督与见证.

  9. 自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人

    2019-09-20-23:24:15 今天逛论坛.逛知识星球时.逛b站up主时,都说到低学历,非科班的人最好不要去自学Python 他们都说:如果我们学python是为了找工作,最好不要把pytho ...

随机推荐

  1. 如何安装iso镜像文件

    1.使用压缩软件打开iso文件 2.点击setdup.exe文件,双击打开 3.解压缩后等待安装

  2. String 去重,区分大小写

    题目要求:去除,和.,相同的单词去除后面的.区分大小写 示例:输入:There is a will,there is a way. 输出There is a will there way 答案代码: ...

  3. Oozie 中各种类型的作业执行结果记录

    一,提交的作业被SUSPEND,然后再被KILL,记录如下: TYPE1: appType WORKFLOW_JOB id 0000002-160516095026479-oozie-oozi-W e ...

  4. 求编译器中数的最值(c++)

    #include <limits> //头文件 #include <iostream> using namespace std; int main() { cout <& ...

  5. 匿名管道 远程cmd

    管道是单向的,传送数据的方向是固定的,所以互相通信需要两个管道. STARTUPINFO si; ZeroMemory(&si,sizeof(si)); si.dwFlags = STARTF ...

  6. 深入探讨ES6生成器

    如果对于ES6生成器不熟悉,请先阅读并运行下http://www.cnblogs.com/linda586586/p/4282359.html里面的代码.当你感觉掌握了基础之后,我们可以深入探讨一些细 ...

  7. 完成《Java编程入门》初稿

    Java编程入门 现在的运维工程师不但要懂得集合网络.系统管理而且要和开发人员一起调试系统,社会上也需要"复合性"的运维人员,所以需要做运维的也要懂一些开发,知道软件系统接口的调试 ...

  8. CLRS:median and order statistics

    //maximum and minimum     暴力遍历 O(n) //i-th element dicide and conquer random_selected_partition     ...

  9. java异常处理的两种方法

    一种是try-catch-finally,监视代码段,如果有异常就捕获. 另一种是此处不处理,声明在方法后面,抛给上级.(不处理也是一种处理)

  10. tech

    流式计算框架storm.spark.genfire.esper(CEP)