自学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 ...
随机推荐
- wmware10安装ghost win7问题处理
随便找到了ghostwin7.iso, 先建立空的虚拟机, 加载iso, 按F2, 设置启动从光盘启动, 启动进去后点直安装Ghost镜像到C盘, 失盘, 直接跳到dos界面了. 忘记先要分区了, 使 ...
- CInternetSession CHttpFile Post提交数据
//给指定url发请求, 返回请求后的结果 string CAutoPatchDlg::SendURLPost(string strServerName, string strFormActionUr ...
- 队列理论和队列网络模型 queueing theory and queueing network model
1队列理论 1.1队列在生活中随处可见,例如排队买票,排队打饭,排队做地铁等等.那将诸如此类的队列抽象一下,可归纳为一下5要术: 到达过程arrival process 服务时间的分布 service ...
- Git使用手册:HTTPS和SSH方式的区别和使用
在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地.这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制htt ...
- Flex4+BlazeDS+JAVA+MySql 构建J2EE工程 对用户信息进行管理实例
要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...
- MSP430推荐网站
http://www.amobbs.com/thread-5092914-1-1.html http://www.amobbs.com/thread-4701106-1-1.html
- JS 在open打开的子窗口页面中调用父窗口页面的JS方法
需求的情景如下: 1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法) 2:在新增或修改等的页面上有返回按钮.重置按钮.保存按钮,对于返回就直接关闭此窗口(使 ...
- mysql中NULL和null的区别
接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...
- 图的最短路算法 Floyd
多源最短路径算法 时间复杂度O(N3) 简单修改可求有向图的传递闭包 #include<iostream> using namespace std; const int maxn=1024 ...
- Oracle 自定义函数Function
示例代码: CREATE OR REPLACE FUNCTION "MY_DATABASE"."F_GET_USER_COUNT_BY_DEPART" ( D ...