由于以前处理数据用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】一、基础篇的更多相关文章

  1. 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...

  2. python+selenium基础篇,切入切出frame

    1.首先制作一个html的文件,代码如下 <!DOCTYPE html> <html> <head> <title>Frame_test</tit ...

  3. 一起学Spring之基础篇

    本文主要讲解Spring的基础环境搭建以及演变由来,仅供学习分享使用,如有不足之处,还请指正. 什么是Spring ? Spring是一个开源框架,用来处理业务逻辑层和其他层之间的耦合问题.因此Spr ...

  4. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  5. Python ( 学习 基础篇第一部 )

    目录 注释 注释的分类 注释的注意点 变量 变量的概念 变量的声明 变量的命名 变量的交换 变量的缓存机制 常量 进制 进制的转换 原码 反码 补码 六大数据类型 Number 的四大类 字符串 st ...

  6. [python面向对象]--基础篇

    1.#类 #类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 #定义一个类 class bar: def foo(self,agr): print(self,agr) obj = bar() ...

  7. Python学习——基础篇

    1.python的安装     python下载地址:https://www.python.org/downloads/     安装完成后,运行cmd.exe,输入python     如果出现“p ...

  8. python正则表达式基础篇

    1.正则表达式基础 1.1简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大 ...

  9. 新手学python(1):解析XML与系统调用

    最近需要做一个项目,完成一批音乐的格式转换.由于之前并未学习过python,所以想借此机会学一下.在介绍自己的学习过程之前,先把项目简要描述一下.目前在一台服务器a上有几十万首原始的MP3音乐文件,现 ...

随机推荐

  1. MySql 里的IFNULL、NULLIF和ISNULL用法区别

    mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql> ...

  2. 关于Spring中的<context:annotation-config/>配置

    当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些Bean显得比较笨拙,例如: 使用@Autowired注解,必须事先在Spring容器中声明AutowiredA ...

  3. nyoj 623 A*B Problem II(矩阵)

    A*B Problem II 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了,因为每次做到矩阵相乘的时候,大 ...

  4. $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

    1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...

  5. Linux进程间通信(七):消息队列 msgget()、msgsend()、msgrcv()、msgctl()

    下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处.有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信 -- 使用命名管道 一.什么是消息队列 消息队列提 ...

  6. C和指针 第九章 习题

    9.15 编写函数格式化金钱为标准字符串 #include <stdio.h> #include <string.h> #define TEMP_LEN 1000 void d ...

  7. C/C++ 的使用

    C++    http://www.cplusplus.com/ http://www.cplusplus.me/ *****************容器container vector 转自 htt ...

  8. Qt5.7中使用MySQL Driver

    Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可. 如果没有安装,可以采取自己编译的方式. 在Qt的源码包 ...

  9. python 3.x urllib学习

    urllib.request import urllib.request as ur url='http://ie.icoa.cn' user_agent = 'Mozilla/4.0 (compat ...

  10. Angular2 组件

    1. 组件说明 Angular2 组件是构成Angular2应用程序的核心部分,Angualr2应用程序本质上来说就是一个组件树,Angular2组件一般由模块,注解,元数据以及组件类组成,实现组件类 ...