Python程序设计基础第二章笔记:运算符、表达式与内置对象

本文是Python程序设计基础的第二章笔记,详细介绍了Python的运算符、表达式以及常用内置对象,包括变量赋值、数字类型、列表元组等容器对象、运算符优先级以及常用内置函数的用法,如类型转换、求和、输入输出等。
摘要由CSDN通过智能技术生成

Python程序设计基础笔记



第二章:运算符、表达式与内置对象

2.1 Python常用内置对象

见 P10 表2-1 。
为变量赋值的形式为 变量 = 对象类型( ) ,例如 x = str( ) ,这样就为 x 赋类型为字符串的空值。
x = .‘hello’ 或者 x = str(‘hello’) 就为 x 赋值为类型为字符串的值 ‘hello’ 。
这种方法适用于任何内置对象。

2.1.1 常量与变量

变量赋值与类型

常量指不需要改变也不能改变的值,与常量相反,变量的值是可以变化的。
在python中,不需要事先声明变量名及其类型,直接赋值即可创建任意类型的对象变量。
不仅变量的值是可以变化的,变量的类型也是可以随时变化的。

变量与实际值存储位置的关系

python采用基于值的内存管理模式。Python中的变量并不直接存储值,而是存储值的引用,这也是变量类型随时可以改变的原因。(可以将变量看作箭头,实值在未刻意改变存储位置之前,它的引用是不变的,变量只是暂时指向这个位置,当改变变量的值时,指向的位置发生改变,而原来的值和它的引用不变)

变量的定义规则

  1. 变量名必须以字母或者下划线开头
  2. 变量名不能含有空格或标点符号
  3. 不能使用关键字做变量名
  4. 不建议使用内置模块名、类型名或者函数名以及导入的以上类型做变量名。可用 dir(–builtins–)查看所有内置对象名
  5. 变量名对大小写敏感,lst 与 Lst 是不同变量

2.1.2 数字

内置数字类型:整数、实数、复数

避免在实数之间进行相等性测试,而是以误差足够小作为相等的依据。
在数字的算数表达式求值时会进行隐式的类型转换,如果存在复数,则都变成复数,如果没有复数但是又实数,则都变成实数,如果都是整数则不会进行转换。
即:复数 > 实数 > 整数

0.4-0.1 ==> 0.30000000000000004

0.4-0.1 == 0.3 ==>False

abs(0.4-0.3) < 1+1e-6 ==>True
#0.4-0.3 的绝对值小于 1 加 10 的 -6 次方

3+4j + 4.2 ==>(7.2+4j)
#类型转换

复数表示形式

x = 3+4j
y = 4+5j

x*y ==>(-8+31j)

abs(x) ==>5.0

x.imag ==>4.0

x.real ==>3.0

x.conjugate() ==>(3-4j) #共轭复数

分数

标准库 fractions 中的 Fraction 对象支持分数运算。

from fractions import Fraction

x = Fraction(3,5)
y = Fraction(6,3)

x.numerator ==>3 #分子

y.denominator ==>1  #分母,创建 y 时自动通分 

x/y ==>Fraction(3, 10)

Fraction(3.2) ==>Fraction(3602879701896397, 1125899906842624)    #进行实数运算会有误差

Fraction(5.5) ==> Fraction(11, 2)

高精度实数

标准库 decimal 中的 Decimal 类实现了高精度运算。

from decimal import Decimal

Decimal(1/9) ==>Decimal('0.111111111111111104943205418749130330979824066162109375')

type(_) ==>decimal.Decimal

1/9 ==>0.1111111111111111

字符串与字节串

使用单引号、双引号、三单引号、三双引号作为定界符(delimiter)来表示字符串,不同的定界符之间可以嵌套。Python3.x 支持中文,中文和英文一样看作一个字符。`

x = "'hello',Sam said."

print(x)
'hello',Sam said.

x ==>"'hello',Sam said."

x[0] ==>"'"

x = 'good'+'morning'

x ==>'goodmorning'

x = 'good''morning'

x ==>'goodmorning'

x = 'good'

x = x'moring'
  File "<ipython-input-35-2da94c40c4b0>", line 1
    x = x'moring'
                ^
SyntaxError: invalid syntax

x = x+'morning'

x ==>'goodmorning'

对字符串使用 encode( ) 方法得到 bytes 字节串,对 bytes 字节串使用 encode( ) 方法并指定编码格式得到 str 字符串。

'hello world'.encode('utf-8') ==> b'hello world'

_.decode('gbk') ==>'hello world'

'你好'.encode('utf-8') ==>b'\xe4\xbd\xa0\xe
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值