python中一切皆存储为对象。
既可以面向过程,又可以面向对象。
面向过程与面向对象的区别
面向过程:以指令为中心,由指令处理数据 是组织代码解决问题
面向对象 :以数据为中心,所有的处理代码都围绕数据展开 如何设计数据结构组织数据, 并且对此类数据所允许处理操作。 即设计类,对象之间的调用。解决更复杂的程序。
面向过程
使用多种python版本
简单方法:
1.编译安装新版本至某特定路径
2.pyenv
python数据结构
python的关键要素
1.基本数据类型
2.对象引用
3.组合数据类型
4.逻辑操作符
5.控制流语句
6.算数操作符
7.输入输出
8.函数的创建与调用
python的数据类型![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6441107c5b1047a408b3ff424ba15d11.png)
不可变对象:整型,字符串
对象引用
如下,每一次为num赋值就相当于在内存中引用了一个新的地址,原来的地址还存在,只不过num的引用指向了新的内存地址。
所以说整形是一种不可变类型。
>>> num=1
>>> id(num)
1524952176
>>> num=2
>>> id(num)
1524952208
>>> num=3
>>> id(num)
1524952240
【注】只要变量赋值给了同一个值,那么它引用的内存地址就会是一样的。而不会去重新创建一个内存地址。如下图:
[注]保留字就是关键字
print(_)可以输出最近一次的表达式的结果
组合数据类型
列表可以使用索引
列表是可变对象,支持原处修改,直接对数据本身进行修改。
对元组进行修改将会引发异常。
字符串是不可变的类型,支持切片操作,同时切片之后的引用发生了改变。
不可变对象 int,str,tupe
变量赋值可以理解为实例化出来的对象。
方法来自他所属的类:
逻辑操作符
控制流语句
算数操作符
输入输出
[注]:格式化的过程中包含了数据类型的自动转换。
>>> num=1
>>> id(num)
1524952176
>>> num=2
>>> id(num)
1524952208
>>> num=3
>>> id(num)
1524952240
>>> name="jeerry"
>>> print(mame[1])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mame' is not defined
>>> print(name[1])
e
>>> id(name)
49743328
>>> name="xiaopang "
>>> id(name)
49729136
>>> type(name)
<class 'str'>
>>> name="xiaopanger"
>>> pro="xioapanger"
>>> id(name)
49798000
>>> id(pro)
49818480
>>> pro="xiaopanger"
>>> id(pro)
49798000
>>> test="xiaopanger"
>>> id(test)
49798000
>>> print(_)
49798000
>>> name=3.14
>>> type(name)
<class 'float'>
>>> l1=(x,y)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> l1=("x","y")
>>> print(l1[0])
x
>>> x="xiaopanger"
>>> print(x[0:5])
xiaop
>>> raw_input("plz input a num:")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> num=7.9
>>> print("the num is %f" ,%num)
File "<stdin>", line 1
print("the num is %f" ,%num)
^
SyntaxError: invalid syntax
>>> print("the num is %f"% ,num)
File "<stdin>", line 1
print("the num is %f"% ,num)
^
SyntaxError: invalid syntax
>>> print "The num is %f" % num
File "<stdin>", line 1
print "The num is %f" % num
^
SyntaxError: Missing parentheses in call to 'prin
>>> print( "The num is %f" % num)
The num is 7.900000
>>> print("The num is %d" %num)
The num is 7
>>> num2=3.14159265358
>>> print("The nums is %f and %d"%(num,num2))
The nums is 7.900000 and 3
>>> str1="xiaopanger"
>>> print("The string is %s"%str1)
The string is xiaopanger
>>> print("the string is %r"%str1)
the string is 'xiaopanger'
>>> print("the nums is %x and %x"%(num,num2))
Traceb