什么是程序?

程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所以我们可以把一门语言进行拆解,比如现在这门语言就是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. Asp.net mvc 知多少(五)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  2. redis中与key相关的命令

    1.简单描述 redis本质上是一个key-value db,value可以有多种类型(string.hash.set.sorted set.list等),本章节不讲这些类型的命令,这里是讲跟key相 ...

  3. [UWP]了解模板化控件(6):使用附加属性

    1. 基本需求 之前的ContentView2添加了PointerOver等效果,和TextBox等本来就有Header的控件放在一起反而变得鹤立鸡群. 为了解决这个问题,这次把ContentView ...

  4. mybatis 之 占位符#{} 和 ${}

    #{}占位符用来设置参数,参数的类型可以有3种,基本类型,自定义类型,map基本类型作为参数,参数与占位符中的名称无关. <select id="findById" para ...

  5. linux下用split命令将一个大的文件拆分成若干小文件

    命令 split -l 50 wlan_date.txt wlan 说明:按50行给文件进行拆分,如果没有最后面的参数,命名将会是xaa,xab等.

  6. 微信小程序教学第三章第三节(含视频):小程序中级实战教程:视图与数据关联

    § 视图与数据关联 本文配套视频地址: https://v.qq.com/x/page/z0554wyswib.html 开始前请把 ch3-3 分支中的 code/ 目录导入微信开发工具 首先 首先 ...

  7. 在jQuery中使用canvas时遇到的问题

    正常的情况下一般在JavaScript中使用canvas,会用到如下代码: var canvas=document.getElementById("canvas"); var co ...

  8. Python学习日记:day6----小知识点总结

    小知识点总结 一.Python2与Python3 的区别 1.Python2中可以加括号输出,也可不加输出     Python3中必须加 2.python2 中有xrange(生成器)也有range ...

  9. 并行rsync

    #!/bin/bash ]; then echo -e "usage : \n\t$0 hostList src_file dst_path" echo -e "exam ...

  10. Spring MVC框架下的第一个Hello World程序

    本程序是一个maven程序,使用maven方便管理jar包和程序,简化了操作步骤.本程序的目的是通过一个简单的程序,了解Spring MVC框架的基本工作流程,由简入繁的学习Spring MVC框架, ...