python语言学习笔记整理
什么是程序?
程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所以我们可以把一门语言进行拆解,比如现在这门语言就是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语言学习笔记整理的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(二)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Go语言学习笔记十一: 切片(slice)
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...
- Go语言学习笔记七: 函数
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...
- Go语言学习笔记五: 条件语句
Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...
- Go语言学习笔记一: Hello World
Go语言学习笔记一: Hello World 听说Go语言又快又简单.即具有C语言的运行速度,又具有Python语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载 ...
随机推荐
- MyBatis_多查询条件问题
一.多查询条件无法整体接收问题的解决 在实际工作中,表单中所给出的查询条件有时是无法将其封装成一个对象,即查询方法只能携带多个参数,而不能携带将这多个参数进行封装的一个对象.对于这个问题,有两种解决方 ...
- JavaSe: String的编译期优化
Java的编译期优化 因为工作的原因,经常会在没有源码的情况下,对一些产品的代码进行阅读.有时在解决Bug时,在运行环境下会直接去看class文件的字节码,来确定运行中版本是否正确的. 在看字节码时, ...
- 项目(1)----用户信息管理系统(4)---(struts开发)
项目开发---实现注册功能 接下就要用到Struts框架了,再用之前先配置好有关操作 1.在web.xml设置前端配置器 2.在src下新建struts.xml 3.写好首页jsp: 4.配置好str ...
- 接口json数据与数据库数据循环比对校验
创建测试计划,加载数据库驱动: 线程组: csv配置元件: 注:Filename用的是相对路径,csv文件要与jmeter脚本文件在同一目录 JDBC连接配置: jdbc请求: 用户定义的变量: ht ...
- 【java】获取当前日期时间:java.util.Date
public class TestDate { public static void main(String[] args) { System.out.println(new java.util.Da ...
- SQL Server 数据库引擎怎样记录完整备份后修改过的数据
SQL Server 使用两个内部数据结构跟踪被大容量复制操作修改的区,以及自上次完整备份后修改的区.这些数据结构极大地加快了差异备份的速度.当数据库使用大容量日志恢复模式时,这些数据结构也可以加快将 ...
- GVIM与模板——让FPGA开发变得更简单
还在使用FPGA开发环境自带的代码编辑器?还在逐个字母敲击冗长重复的代码?明德扬至简设计法让你快速提高代码编写效率!利用GVIM这一高效的编辑工具并添加自定义模板,通过简短的脚本命令即可自动生成所有常 ...
- [置顶]
xamarin android使用gps定位获取经纬度
看了文章你会得出以下几个结论 1.android定位主要有四种方式GPS,Network(wifi定位.基站定位),AGPS定位 2.绝大部分android国产手机使用network进行定位是没有作用 ...
- 51nod 1203 jzplcm
长度为N的正整数序列S,有Q次询问,每次询问一段区间内所有数的lcm(即最小公倍数).由于答案可能很大,输出答案Mod 10^9 + 7. 例如:2 3 4 5,询问[1,3]区间的最小公倍数为2 ...
- [C#]获得WindowsForm上所有特定类型的控件
本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.Net FrameWork 4.0及以 ...