黑马程序员技术交流社区

标题: 【上海校区】什么是对象、表达式与控制流程 [打印本页]

作者: 不二晨    时间: 2019-3-15 16:26
标题: 【上海校区】什么是对象、表达式与控制流程
一、一些基础概念

python是一种解释语言,命令通常在python解释器中执行
python解释器收到1条命令,然后评估该领命,最后返回该命令的结果。

源代码/脚本
程序员通常提前定义一系列命令,然后把这些命令保存为纯文本文件,这些程序被称为源代码或脚本。
对于python,源代码通常存储在一个扩展名为 .py 的文件中

IDE(集成开发环境)
许多集成开发环境为python提供了丰富的软件开发平台。
例如,拥有标准python发型版的IDLE:IDLE提供了一个嵌入式的文本编辑器,可显示和编辑python代码,以及一个基本调试器(允许逐步执行程序,以便检查关键变量的值)。


二、python的对象

在Python中,类是所有数据类型的基础

1、创建一个对象(实例化)

通过调用某个类的构造函数,可实例化一个类。如:a = int(),即创建了一个整型类的实例a。

在此实例化类的过程中,a 即是我们创建的一个对象。

2、使用对象

我们可以使用运算符、赋值语句等,直接对一个对象进行各种操作,如:

a = int(1)      #创建了一个整型类对象a,它的值是1
a = a + 1                #将a引用的对象(1)加上1,等于2,再将结果2 赋给a,此时a“变成”了2
1
2
也可以通过调用类的方法对对象进行各种操作。
类的成员函数通过使用对象名 + 点操作符(.) + 方法名来调用。
如:

a = list()                 #调用list类的构造函数,创建一个list类的实例a
print (a)
>>> []
a.append(1)
a.append(3)
a.append(2)                #调用list类的append方法,在[]中添加成员1,3,2
print (a)
>>> [1,3,2]
1
2
3
4
5
6
7
8
3、python的一些内置类

逻辑类型
布尔类 bool()
数值类型
整型类 int() 、浮点型类float()
序列类型
列表类 list() 、元组类 tuple() 、 字符串类 str()
字典类
字典/映射类 dic()
集合类
set类 set() 、 frozenset类(不可变的set类)frozenset()
(集合中没有重复元素,且元素间没有内在联系、没有顺序。只有不可变类型的实例才可以被添加到一个集合中)
三、表达式

1、标识符、对象和赋值语句

tep =98.6
''' 其中tep是标识符、98.6是一个浮点型对象、表达式'tep =98.6'整体构成一个赋值语句
        在这个赋值语句中,规定tep作为标识符与等号右边表示的对象相关联'''

alter = tep
''' 为98.6这个浮点型对象建立了一个别名alter'''

tep = tep + 5
''不影响已存在的对象98.6,而是重新给标识tep分配了一个新对象103.6'''
1
2
3
4
5
6
7
8
9
在python中,标识符与所引用的对象的内存地址隐式关联。类似java中的引用变量或c++中的指针变量。
标识符的数据类型不需要事先声明(因为python是一种动态类型的语言),它与它所引用的对象类型相关联。

2、运算符、运算符的优先级

以下是一些常见的运算符:

逻辑运算符
not、and、or
相等运算符
is、is not、=、!=
比较运算符
<、<=、>、>=(对数值类型、定义好的字典(??)、有大小写之分的字符串有可预期的结果)
算数运算符
+、-、*、/、//、%(n/m=q……r,保证q*m+r = n,且0<=r<m)
位运算符:~取反、&按位与、|按位或、^按位异或、<<左移位用0填充、>>右移位按符号位填充
序列运算符
s[j]、s[start:stop]、s[start:stop:step]、s+t、k*s #s连接k次、val in s、val not in s
集合/字典运算符:
set&frozenset支持:key in s、key not in s、s1 == s2、s1 != s2、s1 <= s2 #s1是s2的子集、s1 < s2、s1 >= s2 #s1是s2的超集、s1 > s2、s1 | s2 #并集、s1&s2 #交集、s1 - s2 #差集、s1 ^ s2 #对称差分(??)
字典支持:d[key]、d[key] == value、del d[key]、key in d、key not in d、d1 == d2、d1 != d2
扩展赋值运算符: 支持大多数二元运算符进行扩展赋值运算,如:count += 5→count = count + 5。
(注:对于不可变类型,该语法无法改变现有对象的值,而是对新构造的值重新分配标识符;但对于列表类型,它可通过重新定义语法规则去改变对象的行为,如:)
     alpha = [1,2,3]
     beta = alpha
     beta + = [4,5]             #在原list上增加两个元素
     beta = beta + [6,7]        #把beta重新分配给一个新列表[1,2,3,4,5,6,7]
     print (alpha,beta)
     >>>[1,2,3,4,5],[1,2,3,4,5,6,7]
1
2
3
4
5
6
运算符是有优先级的:
编程语言对符合表达式的执行顺序必须有明确的规定,如:5 + 2 * 3 中乘除运算的优先级要大于加减运算。
同一级别中,优先级较高的运算符会比优先级低的运算符先执行,除非表达式中有括号。
(其他一些运算的优先级暂不赘述……有空补)

3、python支持的一些其他表达式语法

多级赋值:x=y=0
链接 比较运算符:1<=x+y<=10(不用将x+y计算两次)
四、控制流程

1、条件语句

if语句

2、循环语句

while循环、基于索引的for循环
---------------------
【转载,仅作分享,侵删】
琪仔要转行回coder
来源:CSDN
原文:https://blog.csdn.net/lllllaaa77/article/details/87537976
版权声明:本文为博主原创文章,转载请附上博文链接!


作者: 不二晨    时间: 2019-3-20 17:09
加油,感谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2