自学Python一 迷茫中的开端!
有心学习一下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一 迷茫中的开端!的更多相关文章
- 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档
孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...
- 孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录
孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录
孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成
孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获
孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...
- 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘
孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...
- 自学python中的心得
以后的日子里我将与可爱的亲们一起度过我自学python的岁月,请博客园里的大佬们监督与见证.
- 自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人
2019-09-20-23:24:15 今天逛论坛.逛知识星球时.逛b站up主时,都说到低学历,非科班的人最好不要去自学Python 他们都说:如果我们学python是为了找工作,最好不要把pytho ...
随机推荐
- 传智Java基础知识测试
共40道选择题,每题2.5分.多选题有错则全错,全对才满分. 单选题: 1. 下列哪个声明是错误的?(B) A. int i=10; B. float f=1.1; C. double ...
- 基于OpenDaylight和Mininet的试验床平台搭建
##########################################平台架构######################################### 一.虚拟机安装和镜像加载 ...
- 二叉树之AVL树的平衡实现(递归与非递归)
这篇文章用来复习AVL的平衡操作,分别会介绍其旋转操作的递归与非递归实现,但是最终带有插入示例的版本会以递归呈现. 下面这张图绘制了需要旋转操作的8种情况.(我要给做这张图的兄弟一个赞)后面会给出这八 ...
- sc delete 服务器名提示“指定的服务已经标记为删除”
症状:停止服务后,右键无法点击“启动”,打开命令输入SC删除服务后提示如标题描述 原因:进程还在 解决方案:打开任务管理器,进程,找到你的已停止服务名,右键,结束进程,再操作即可删除服务
- centos 7 安装音乐播放器(亲测可用)
方法来源网上,非原创. 1. Install the nux repo $> su - $> yum update # optional but recommanded $> rp ...
- 什么是动态语言 OC 的runtime
OC是一门 动态语言. 问题来了.什么是动态语言? 与之相对的静态语言? 学习C++的时候,记得一个名词:“运行时的动态绑定”. 这个是 “多态”的概念. 简单提一下:关键:类指针可以指向本类,或者其 ...
- 在.net中序列化读写xml方法
收集XML的写法 XML是一种很常见的数据保存方式,我经常用它来保存一些数据,或者是一些配置参数. 使用C#,我们可以借助.net framework提供的很多API来读取或者创建修改这些XML, 然 ...
- C#中DataTable转换JSON
#region 将DataTable转换为json public string dt2json(DataTable dt) { JavaScriptSerializer jss = new JavaS ...
- 利用Ossim系统进行主机漏洞扫描
利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...
- 如何解决SWAT模型数据移动目录后出现的“SWAT2005.mdb database specified in your MasterProgress table does not exists. Please correct and try again”的问题
方法: 1.用MS Access软件打开SWAT模型工程文件的数据文件,如“**流域模拟.mdb”,该文件一般存放在工程文件“**流域模拟.mxd”相同的路径: 2.打开以后,找到“MasterPro ...