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语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载 ...
随机推荐
- string.prototype.replace 和正则表达式
字符串的replace方法是操作字符串的常用方法之一,但这个方法只有当与正则合并使用时,才能体现出它的强大之处. 语法:str.replace(regexp|substr, newsubStr|fun ...
- 稀疏分解中的MP与OMP算法
MP:matching pursuit匹配追踪 OMP:正交匹配追踪 主要介绍MP与OMP算法的思想与流程,解释为什么需要引入正交? !!今天发现一个重大问题,是在读了博主的正交匹配追踪(OMP)在稀 ...
- 在Office Add-in中实现单点登陆(SSO)
作者:陈希章 发表于 2017年12月27日 这篇文章经过多次修改,终于在今天晚上写完了,演示用的范例代码也终于跑通了.因为这个SSO的功能目前只是Preview的状态,所以本篇文章严格参考了官方的文 ...
- Jenkins+github+maven+git+linux
Jenkins:持续集成的一个工具 github:远程存放代码 maven:利用maven创建项目,配置pom.xm依赖 git :本地仓库,可以提交代码到远程(我都是使用git 在git bush ...
- springboot 结合mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- UITextFiled的输入框改成一条下划线
在一些程序的界面中,它们的编辑框是一条线,而UITextFiled本身并没有这种style,所有需要我们自己设置.方法还是挺多的 第一种 , (1).我们可以声明一个类继承与UITextFiled ( ...
- python的属性(property)使用
在面向对象编程的时候,我们定义一个Person类 class Person: def __init__(self): self.age = 22 这样写法能够方便的访问属性age, p = Perso ...
- Find all factorial numbers less than or equal to N
A number N is called a factorial number if it is the factorial of a positive integer. For example, t ...
- MySQL 字符集问题及安全的更新操作
一.字符集乱码 1.操作系统字符集 [root@mysql5 ~]# cat /etc/system-release /etc/sysconfig/i18n CentOS release 6.5 (F ...
- 最近提交一个mysql5.7的bug,提醒自己以后注意写SQL要规范
最近帮朋友提交一个mysql5.7的bug , oracle mysql 的大神还回复我 , 以后注意书写sql规范 , 潜台词是不是不要给他们增加工作量 https://bugs.mysql.com ...