(二)Python从入门到精通之常用内置对象

上一篇:(一)Python从入门到精通之语言简介

Python常用内置对象

  • 对象是python语言中最基本的概念,在python中处理的一切都是对象
  • python中有许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等。
  • 非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random( )等。
    在这里插入图片描述
    在这里插入图片描述

2.1常量与变量

  • 在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。
例如语句
>>> x = 3
创建了整型变量x,并赋值为3,再例如语句
>>> x = 'Hello world.'
创建了字符串变量x,并赋值为'Hello world.'
  • 赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量并指向这个内存地址。

  • Python中的变量并不直接存储值,而是存储了值的内存地址或者引用,这也是变量类型随时可以改变的原因。

  • Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。

>>> x = 3
>>> print(type(x))
<class 'int'>
>>> x = 'Hello world.'
>>> print(type(x))                 #查看变量类型
<class 'str'>
>>> x = [1,2,3]
>>> print(type(x))
<class 'list'>
>>> isinstance(3, int)             #测试对象是否是某个类型的实例
True
>>> isinstance('Hello world', str)
True
  • 在定义变量名的时候,需要注意以下问题:

    1.变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义;
    2.变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等);
    3.不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字;
    4.变量名对英文字母的大小写敏感,例如student和Student是不同的变量。
    5.不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义。

2.2 数字

  • 在Python中,内置的数字类型有整数、实数和复数
  • 整数类型除了常见的十进制整数,还有:二进制以0b开头,八进制以0o开头。十六进制以0x开头。
  • Python支持任意大的数字,具体可以大到什么程度仅受内存大小的限制。
  • 由于精度的问题,对于实数运算可能会有一定的误差,应尽量避免在实数之间直接进行相等性测试,而是应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据。
  • 在数字的算术运算表达式求值时会进行隐式的类型转换,如果存在复数则都变成复数,如果没有复数但是有实数就都变成实数,如果都是整数则不进行类型转换。
>>> 0.3 + 0.2                    #实数相加
0.5
>>> 0.4 - 0.1                    #实数相减,结果稍微有点偏差
0.30000000000000004
>>> 0.4 - 0.1 == 0.3             #应尽量避免直接比较两个实数是否相等
False
>>> abs(0.4-0.1 - 0.3) < 1e-6    #这里1e-6表示10的-6次方
True
  • Python内置支持复数类型及其运算,并且形式与数学上的复数完全一致。
>>> x = 3 + 4j                 #使用j或J表示复数虚部
>>> y = 5 + 6j
>>> x + y                      #支持复数之间的加、减、乘、除以及幂乘等运算
(8+10j)
>>> x * y
(-9+38j)
>>> abs(x)                     #内置函数abs()可用来计算复数的模
5.0
>>> x.imag                     #虚部
4.0
>>> x.real                     #实部
3.0
>>> x.conjugate()              #共轭复数
(3-4j)
  • Python 3.6.x支持在数字中间位置使用单个下划线作为分隔来提高数字的可读性,类似于数学上使用逗号作为千位分隔符,可以出现在中间任意位置,但不能出现开头和结尾位置,也不能使用多个连续的下划线。
>>> 1_2.3_45
12.345

2.3 字符串

  • 在Python中,没有字符常量和变量的概念,只有字符串类型的常量和变量,单个字符也是字符串。使用单引号、双引号、三单引号、三双引号作为定界符(delimiter)来表示字符串,并且不同的定界符之间可以互相嵌套。
  • Python 3.x全面支持中文,中文和英文字母都作为一个字符对待,甚至可以使用中文作为变量名。
  • 除了支持使用加号运算符连接字符串以外,Python字符串还提供了大量的方法支持格式化、查找、替换、排版等操作。
>>> x = 'Hello world.'                  #使用单引号作为定界符
>>> x = "Python is a great language."   #使用双引号作为定界符
>>> x = '''Tom said, "Let's go."'''     #不同定界符之间可以互相嵌套
>>> print(x)
Tom said, "Let's go."
>>> x = 'good ' + 'morning'             #连接字符串
>>> x
'good morning'
>>> x = 'good ''morning'                #连接字符串,仅适用于字符串常量
>>> x
'good morning'
>>> x = 'good '
>>> x = x'morning'                      #不适用于字符串变量
SyntaxError: invalid syntax
>>> x = x + 'morning'                   #字符串变量之间的连接可以使用加号
>>> x
'good morning'

2.4 列表、元组、字典、集合

在这里插入图片描述

>>> x_list = [1, 2, 3]                 #创建列表对象
>>> x_tuple = (1, 2, 3)                #创建元组对象
>>> x_dict = {'a':97, 'b':98, 'c':99}  #创建字典对象
>>> x_set = {1, 2, 3}                  #创建集合对象
>>> print(x_list[1])                   #使用下标访问指定位置的元素
2
>>> print(x_tuple[1])                  #元组也支持使用序号作为下标
2
>>> print(x_dict['a'])                 #字典对象的下标是“键”
97
>>> 3 in x_set                         #成员测试
True

下一篇:(三)Python从入门到精通之运算符与表达式

发布了100 篇原创文章 · 获赞 240 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zag666/article/details/104685615