什么是程序?

程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所以我们可以把一门语言进行拆解,比如现在这门语言就是Python,那么Python这门语言是就拆解为面向对象和面向过程,那么我们知道以前的程序语言C语言就是面向过程的语言,而C++就是面向对象的语言,然后横向的我们还要考虑数据结构和算法。这样我们可以把一门语言的学习氛围四大块,第一款就是面向过程的数据结构,第二块我们成为面向过程的算法。数据结构是静态的,算法是动态的,我们用计算机描述这个世界,世界是可以被我们计算机语言来描述的,我们就用动态和静态来概况就好了,第三区域是面向对象的数据结构,第四区域是面向对象的算法。

  数据类型是一个静态的类型,一种静态的数据结构,是面向过程的,而后面我们要学的类和接口也是静态的结构,它是面向对象的数据结构。

Python面向过程的数据结构有哪些?

  有常量、变量、注释、基本数据类型、还有一些复杂的数据类型、比如列表、元组、字典等等,然后面向过程的算法,这是一个动态的东西,它包含了基本的运算符,比如大家常见的一些数据运算、逻辑运算符等等、还有一些流程控制的语句、比如条件语句、循环语句等等。

  面向对象的数据结构有类、属性、模块,面向对象的算法有构造和析构过程。

Python变量、常量与数据类型

1 怎么定义变量和常量

 name = ‘richie’  给变量赋予一个名称“name”、让它等于richie。在Python没有真正意义上的常量,二十用一个大写的规定或标定表示一个常量。

 python注释就是用一个简单的 ‘#’来表示 多行注释用三个单引号包含起来 ‘’‘ 注释内容’‘’。Python是自猜想数据类型,就是我们不用特别铭心啊的方法指定它的数据类型就可以来完成我们的工作,它会自动的去设定他的数据类型。它的基础数据类型是整形、浮点数、字符串、布尔。

  age = 121 代表他就是一个整形变量,然后我们怎么判断他是不是一个整形变量呢,有一个小函数、python内置了很多的库,我们只需要把用一个type然后把age传进去就可以输出age的类型了。

输入代码 name=richie 就是一个字符串变量,我们在type(name)就可以看到str出来。

  我们需要注意的是,Python里面是大小写识别的,所以“True”一定要首字母大写,在python里常量是可以被修改的。

2 数据类型怎样进行转换

  如果我们要把一个整形转换成字符串 name = str(12321)

name = str(12321)
print(type(name))
<class 'str'>

  如果要讲一个字符串要转换成整形 age = int('123').

name = ''
age = int(name)
print(age,type(age))
123 <class 'int'>

  字符串拼接

a1 = 'hello '
a2 = 'world'
print(a1+a1)
hello world

  字符串格式化输出

name = 'hello \n , %s' % 'hello'
print(name)
hello
, hello

Python列表、元组、字典

  python里面有三个复杂数据类型、一个是列表、一个是元组、一个是字典、列表很容易理解、就是一个串行的数据结构、就是一组的字符列表。

比如我们定义一个列表。

zoo = ['sheep','monkey','dog','cat','cattle']
print(len(zoo),type(zoo))
print(zoo[1])

 我们可以通过列表的函数知道长度、类型、我们还可以使用索引找到第二个元素的值,列表的可以存储多个类型的值,如

l = ['beijing','shanghai',2131,12]

元组实际上有类似与其他语言里面的枚举类型,实际上他是支持各种类型在一起的,比如我们要描述一个商品信息

apple=('shanxi','red',12)

  定义一个苹果 它产地 shanxi 颜色 red 价格 12,然后运行

  字典就是配对关系,键值对的组合

msg = {'name':'richie','age':18}
print(msg['name'])

  其中字典的key值必须是不可变类型的的,我们要的得到姓名,可以用key值索引找到对应的value值。

条件语句

   运算符是非常简单的东西,特殊的就是百分号之类的,这些和其他语言都是类似的。

print(1212+1212)
2424 print(2323/2343)
0 print(1212 - 1210)
2

  然后我们看一下流程控制语句,很多人都觉得条件语句是最重要的,可以称为判断语句,然后第二重要的语句就是循环

  

a = 15
if a > 10:
print(True)
else:
print(False)

循环语句

  输入 name="richie" 我们要把这个字符串循打印出来,使用for循环name中的每个字符输出 ,while循环和for循环道理是一样的

name = 'richie'
for x in name:
print(x)
#结果为:
r
i
c
h
i
e

  “for x“就是新定义的临时变量,缩进没有明确的要求。使用开发工具 如pycharm代码会自动缩进,它还能把这些变量都找出来,所以使用到IDE开发会很方便

还有一个软件 ‘subline’也非常方便,不过这个软件定义python文件时需要以.py结尾,ide工具很多,我们可以根据自己喜好选择。

python语言学习笔记整理的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  3. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. Go语言学习笔记十三: Map集合

    Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...

  5. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  6. Go语言学习笔记十一: 切片(slice)

    Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...

  7. Go语言学习笔记七: 函数

    Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...

  8. Go语言学习笔记五: 条件语句

    Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...

  9. Go语言学习笔记一: Hello World

    Go语言学习笔记一: Hello World 听说Go语言又快又简单.即具有C语言的运行速度,又具有Python语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载 ...

随机推荐

  1. 原生JS与jQuery操作DOM对比

    一.创建元素节点 1.1 原生JS创建元素节点 document.createElement("p"); 1.2 jQuery创建元素节点 $('<p></p&g ...

  2. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  3. Elasticsearch常用基础操作

    1.获得集群中的节点列表: curl 'localhost:9200/_cat/nodes?v' 2.获得所有索引: curl 'localhost:9200/_cat/indices?v' 3.创建 ...

  4. 搭建angular1 gulp项目(上传到gitup)

    (安装好相关的前端环境) 1.新建一个文件夹,名字为angular-gulp,dos命令切换到该目录,输入npm init,继续添上你需要的信息,ok之后目录中多了package.json(管理项目所 ...

  5. JavaScript:inherits

    网上一查,肯定搜索到继承的文章真心不少.我这里就只说一下自己常用的方式: 通常 在编写一个类的做法是,在构造函数里声明字段,在prototype里指定方法. //step1: 在子类的构造器里法里实例 ...

  6. Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ('true', 'false' or 'null')

    Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ( ...

  7. NSQ之粗读浅谈

    回顾: 以前一直是C++开发(客户端),最近听同事讲go语言不错,随后便决定先从go语法开始投向go的怀抱.由于历史原因学习go语法时,用了半天的时间看完了菜鸟教程上相关资料,后来又看了易百教程上的一 ...

  8. Asp.net常用开发方法之DataTable/DataReader转Json格式代码

    public static string JsonParse(OleDbDataReader dataReader) //DataRead转json { StringBuilder jsonStrin ...

  9. 支持各种特殊字符的 CSV 解析类 (.net 实现)(C#读写CSV文件)

    CSV是一种十分简洁的数据结构,在DOTNET平台实际使用中发现微软官方并没有提供默认的方法,而网上好多例子发现实现并不严谨甚至一些含有明显错误,所以后面自己实现了一个读写工具类,这里发出来希望方便后 ...

  10. bzoj 1597: [Usaco2008 Mar]土地购买

    Description 农 夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000 ...