【新手学Python】一、基础篇
由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python,谨以此系列博客记录学习点滴。文中如有错误,还望大牛们指出!
Section 1:
本文是第一篇,当然也是基础,有了编程基础的我们都知道,学习一门语言什么最重要?当然先搞清楚数据类型和数据结构,有了这些,你才能去谈面向对象,才能去设计程序。
Python的数据类型比较简单:1.整数;2.长整数;3.浮点数;4.复数;5.字符串
注1:熟悉Matlab的筒靴们要注意,Python的虚数用j而不是i表示。
注2:Python 不接受只声明不定义的格式,例如:想声明一个变量,必需要附一个初始值。
注3:Python里没有char类型,但是有字符串就已经足够处理所有工作了。
对于运算符的优先级我想这个跟其他语言出入并不大,所以不再赘述。
Section 2:
下面对于新手最重要的:
缩进
对,Python对于缩进非常敏感,为什么呢?因为Python没有C语言那种具有语句块的分割符,例如{},也没有Matlab的for...end这种结束符,它只能以缩进判断一个语句块是否结束。
这对于定义函数,或者循环语句,判断语句都很重要。例如:
for i in range(1,5)
print i
这两句是要报错的,因为print i作为for循环内部的语句 没有缩进!
正确的写法是:
for i in rang(1,5)
print i
缩进一个空格或者一个Tab,这个区别在哪里我还没有发现,希望各位能够给我一点指教。
Section 3: Python 的数据结构
Python的数据结构包括:列表,元组,字典,序列
其中序列包括列表、元组和字符串
3.1列表
列表中元素的有序存储的,shopList=['banana','apple','orange'],可以对它进行排序shopList.sort(),那么其内容就变为shopList=['apple','banana','orange']。
3.2元组
元组是不可变的,即定义好了的元组不能更改其内容。元组的定义:array=('this','is','an','array')
3.3字典
字典是键和值对应存储的,可以添加和删除元素。dic={'key1':'first','key2':'second','key3':'third'}
添加元素:dic['key4']= 'fourth'
删除元素:del dic['key4']
需要注意的是字典以键值为主,抓住这一点。
3.4序列
序列提供两种操作符:索引和切片
其实这一点和matlab最为相似,Matlab中提取一个数组的下标从a:b的元素;arr=arr[a:b];
索引就更简单了。
注4:注意这些数据结构定义的符号,以免混淆。
Reference:简明Python教程 http://sebug.net/paper/python/
【新手学Python】一、基础篇的更多相关文章
- 小白学Docker之基础篇
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...
- python+selenium基础篇,切入切出frame
1.首先制作一个html的文件,代码如下 <!DOCTYPE html> <html> <head> <title>Frame_test</tit ...
- 一起学Spring之基础篇
本文主要讲解Spring的基础环境搭建以及演变由来,仅供学习分享使用,如有不足之处,还请指正. 什么是Spring ? Spring是一个开源框架,用来处理业务逻辑层和其他层之间的耦合问题.因此Spr ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
- Python ( 学习 基础篇第一部 )
目录 注释 注释的分类 注释的注意点 变量 变量的概念 变量的声明 变量的命名 变量的交换 变量的缓存机制 常量 进制 进制的转换 原码 反码 补码 六大数据类型 Number 的四大类 字符串 st ...
- [python面向对象]--基础篇
1.#类 #类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 #定义一个类 class bar: def foo(self,agr): print(self,agr) obj = bar() ...
- Python学习——基础篇
1.python的安装 python下载地址:https://www.python.org/downloads/ 安装完成后,运行cmd.exe,输入python 如果出现“p ...
- python正则表达式基础篇
1.正则表达式基础 1.1简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大 ...
- 新手学python(1):解析XML与系统调用
最近需要做一个项目,完成一批音乐的格式转换.由于之前并未学习过python,所以想借此机会学一下.在介绍自己的学习过程之前,先把项目简要描述一下.目前在一台服务器a上有几十万首原始的MP3音乐文件,现 ...
随机推荐
- MySql 里的IFNULL、NULLIF和ISNULL用法区别
mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql> ...
- 关于Spring中的<context:annotation-config/>配置
当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些Bean显得比较笨拙,例如: 使用@Autowired注解,必须事先在Spring容器中声明AutowiredA ...
- nyoj 623 A*B Problem II(矩阵)
A*B Problem II 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了,因为每次做到矩阵相乘的时候,大 ...
- $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...
- Linux进程间通信(七):消息队列 msgget()、msgsend()、msgrcv()、msgctl()
下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处.有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信 -- 使用命名管道 一.什么是消息队列 消息队列提 ...
- C和指针 第九章 习题
9.15 编写函数格式化金钱为标准字符串 #include <stdio.h> #include <string.h> #define TEMP_LEN 1000 void d ...
- C/C++ 的使用
C++ http://www.cplusplus.com/ http://www.cplusplus.me/ *****************容器container vector 转自 htt ...
- Qt5.7中使用MySQL Driver
Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可. 如果没有安装,可以采取自己编译的方式. 在Qt的源码包 ...
- python 3.x urllib学习
urllib.request import urllib.request as ur url='http://ie.icoa.cn' user_agent = 'Mozilla/4.0 (compat ...
- Angular2 组件
1. 组件说明 Angular2 组件是构成Angular2应用程序的核心部分,Angualr2应用程序本质上来说就是一个组件树,Angular2组件一般由模块,注解,元数据以及组件类组成,实现组件类 ...