Python标识符
身份 id方法查看唯一标示符,内存地址
>>> a = "str"
>>> b = 2
>>> id(a)
140223954701072
>>> id(b)
36610848
查看变量的数据类型;
>>> type(b)
>>> type(a)
要素1:python将所有数据存为内存对象
python中,变量事实上是指向内存对象的引用
?动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)
内建函数type()用于返回给定数据项的数据类型
"="用于将变量名与内存中的某对象绑定:如果对象事先存在,就直接进行绑定;否则,则由"="创建引用对象
>>> name = "tom"
>>> test = "tom"
>>> id(name)
140223953962208
>>> id(test)
140223953962208
要素2:对象引用(变量)
变量的命令规则
1、只能包含字母、数字和下划线,且不能以数字开头
2、区分字母大小写
3、禁止使用保留字
python2与python3的保留字有所不同
命令惯例
1、以单一下划线开头变量名(_x)不会被from module import *语句导入
2、前后有下划线的变量名(_x_)是系统定义的变量名,对python解释器有特殊的意义
3、以两个下划线开头但结尾没有下划线的变量名(__x)是类的本地变量
4、交互式模式下,变量名"_"用于保存最后表达式的结果
注意:变量名没有类型,对象才有
>>> 1 + 1
2
>>> print _
2
要素3:组合数据类型
一、数据结构:通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合
二、python常用的组合数据类型
序列类型
1、列表:使用[]创建,如['call','me','Ishmeal','.'],列表是可变对象;支持原处修改;
>>> l1=["This","is","a","pig"]
>>> l1[0]
'This'
>>> l1[0][0]
'T'
并且指向的内存对象;列表在内存中的地址空间保持不变;
注意:列表中存储的是指针;而指针指向的是内存对象的数据元素;
列表中的数据元素本身是不可变的;变的是引用;
?
>>> print l1
['This', 'is', 'a', 'sheep']
>>> id(l1)
140223953808704
>>> l1[3]="pig"
>>> id(l1)
140223953808704
>>> print l1
['This', 'is', 'a', 'pig']
2、元组:使用()创建,如('one','two'),元组是不可变对象;
>>> t1=("This","is","a","pig")
>>> t1[0]
'This'
>>> t1[0][0]
'T'
?
3、字符串也属于序列类型
集合类型
?集合
映射类型
?字典
字符串切片:
?
>>> name = "firefox"
>>> name[0]
'f'
>>> name[0:2]
'fi'
>>> name[0:3]
'fir'
>>> name[1:2]
'i'
>>> name[:2]
'fi'
>>> name[2:]
'refox'
?
指定字符串的步进;
>>> name[0:7:2]
'frfx'
要素3 二: 组合数据类型
?列表是可变序列,元组是不可变序列
python中,组合数据类型也是对象,因此其可以嵌套
['hello','world',[1,2,3]]
实质上,列表和元组并不真正存储数据,而是存放对象引用
python对象可以具有其可以被调用的特定"方法(函数)"
元组、列表以及字符串等数据类型是"有大小的",也即,其长度可以使用内置函数len()测量;
?
要素4: 逻辑操作符
一、逻辑运算时任何程序设计语言的基本功能
二、Python提供了4组逻辑运算
1、身份操作符
is:判定左端对象引用是否相同于右端对象引用;也可以与none进行;
?
>>> name = "Tom"
>>> test = "Tom"
>>> name is test
True
>>> test = "firefox"
>>> name is test
False
>>> type(name) is type(test)
True
?
2、比较操作符
<,>,<=,>-,!=,==
成员操作符
in,或者 not in :测试成员关系
逻辑运算符
and,or,not
要素5:控制流语句
一、控制流语句是过程式编程语言的基本控制机制
二、Python的常见控制流语句
if
if boolean_expression1 :
? ? suite1
elif boolean_expression2:
? ? suite2
...
?
while
?
?
?
1
2
while boolean_expreesion:
? ? ? ? suite
for .. in
for variable in iterable:
? ? suite
?
try
要素6 :算数操作符
一、Python提供了完成的算术操作集
二、很多的Python数据类型也可以使用增强的赋值操作符,如+=、-=等;
三、同样的功能,使用增强赋值操作符的性能较好;
四、Python的int类型是不可变的,因此,增强类型赋值的实际过程是创建了一个新的对象来存储结果后将变量名执行了重新绑定
?
要素7 :输出/输出
现实中,具有实际功能的程序必须能够读取输入(如从键盘或文件中),以及产生输出,并写到终端或文件中;
python的输入/输出
?
输出
python3: print()函数
python2: print语句
输入
input()
raw_input()
>>> raw_input("plz input a name:")
plz input a name:firefox
'firefox'
>>> a= raw_input("plz input a name:")
plz input a name:firefox
>>> print a
firefox
?
python解释器提供了3中标准文件对象,分别是标准输入、标准输出和标准错误,它们在sys模块中分别以sys.stdin、sys.stdout、sys.stderr形式提供;
print 接受一个逗号分隔的对象列表,并为行尾自动添加一个换行符,如果不需要,则在最后个元素后添加逗号;
>>> a="this is a"
>>> b="pig"
>>> print a,b
this is a pig
print "string %format1 %format2 ...." %(variable1,variable2...)
%后面可以使用修饰符,(如果有,则只能按照如下顺序)
%[name][flags][width][.precision]typecode
位于括号中的一个属于后面的字典的键名,用于选出一个具体想
下面标志中的一个或多个
_:表示左对齐,默认右对齐
+:表示包含数字符号,整数也会带"+"
0:表示一个零填充
?
?
>>> num = 7.9
>>> print "The num is %f" % num
The num is 7.900000
>>> print "The num is %d" % num
The num is 7
>>> num2 = 7.12
>>> print num
7.9
>>> print num2
7.12
>>> print "The nums are %d and %f" % (num, num2)
The nums are 7 and 7.120000
>>> print "The nums are %d and %f" % (num, 3.1)
The nums are 7 and 3.100000
>>> print "The nums are %e and %f" % (num, 3.1)
The nums are 7.9000