Python补充知识3

Python内置数据类型概述

  • 数值数据类型:int、bool、float、complex
  • 序列数据类型:不可变(str、tuple、bytes)和可变(list、bytearray)
  • 集合数据类型:set、frozenset
  • 字典数据类型:dict。例如:{1: “one”, 2: “two”}
  • NoneType、NotImplementedType和EllipsisType

1、int(任何精度整数)

1、第一个是字符串类型

int(x,base=10)#创建int对象,指定进制base(2到36之间)

实战

int('100',2)#4

2、float

小数只有float。但是存在精度问题,实例如下:

print(0.4-0.3)#0.10000000000000003

float对象示例

只有浮点数才可以调用is_integer()

float类型(有限精度浮点数)

方法说明示例
as_integer_radio()转换为分数print(1.25.as_integer_ratio())#(5, 4) print(float.as_integer_ratio(1.25)) #(5, 4)
hex()转换为十六进制字符串print(12.3.hex()) #0x1.899999999999ap+3 print(float.hex(1.1)) #0x1.199999999999ap+0
fromhex(string)十六进制字符串转换为浮点数print(float.fromhex(‘0xFF’))#255.0
is_integer()判断是否为int类型print(3.14.is_integer())#False print(float.is_integer(2.0))#True

实战–浮点数运算实例

print(float(2))#2.0
print(0.4-0.3)#0.10000000000000003
print(abs(0.4-0.3)-0.1)#2.7755575615628914e-17

print(type(float))#<class 'type'>
print(float(123),float('3.14'))#123.0 3.14
print(float('Infinity'),float('-Infinity'),float('NaN'))#inf -inf nan

print(float('123abc'))
#Traceback (most recent call last):
  File "E:\Python\nterm\1.py", line 20, in <module>
    print(float('123abc'))
ValueError: could not convert string to float: '123abc'

有限精度浮点数

a=12.1#只有浮点数才可以调用这个函数
print(a.is_integer())

sys.argv可以用来获取命令行参数,其中sys.argv[0]为脚本名,即python文件名,列表中其他值为传入的参数值

3、complex类型(复数)

complex(real[,imag])#创建complex对象(虚部可选)

print(type(1+2j))#<class 'complex'>
c = complex(4,5)
print(c)#(4+5j)
属性/方法说明示例
real复数的实部print((1+2j).real)#1.0
imag复数的虚部print((1+2j).imag)#2.0
conjugate共轭复数print((1+2j).conjugate())#(1-2j)
a = 1+2j
b = complex(4,5)
print(a+b)#(5+7j)
import cmath
#复数的平方根
print(cmath.sqrt(b))#(2.280693341665298+1.096157889501519j)

4、bool数据类型和相关运算符

(1)Python的任意表达式都可以评价为布尔逻辑值,故均可以参与逻辑运算。

>>> not 0                   #输出:True
>>> not 'a'                 #输出:False

(2)C = A or B。如果A不为0或者不为空或者为True,则返回A;否则返回B。仅在必要时才计算第二个操作数,即如果A不为0或者不为空或为True,则不用计算B。“短路”计算。

>>> 1 or 2                  #输出:1
>>> 0 or 2                  #输出:2
>>> False or True           #输出:True
>>> True or False           #输出:True

(3)C = A and B。如果A为0或者为空或者为False,则返回A;否则返回B。仅在必要时才计算第二个操作数,即如果A为0或者为空或者为False,则不用计算B。即“短路”计算。

>>> 1 and 2               #输出:2
>>> 0 and 2               #输出:0
>>> False and 2           #输出:False
>>> True and 2            #输出:2

5、str数据类型(字符串)

  • Python中没有独立的字符数据类型,字符即长度为1的字符串
  • Python内置数据类型str,用于字符串处理
    • str对象的值为字符系列
    • str对象(字符串)是不可变对象
  • 使用单引号或双引号括起来的内容,是字符串字面量;三单引号(‘’‘ ’‘’),三双引号(“”“ ”“”)可以跨行

6、字符串编码

Python 3字符默认为16位Unicode编码

使用内置函数ord()可以把字符转换为对应的Unicode码

使用内置函数chr()可以把十进制数转换为对应的字符。

7、混合运算和数值类型转换

7.1、混合运算和隐式转换

  • int、float和complex对象可以混合运算
    • 如果表达式中包含complex对象,则其他对象自动转换(隐式转换)为complex对象,结果为complex对象
    • 如果表达式中包含float对象,则其他对象自动转换(隐式转换)为float对象,结果为float对象
  • 显式转换(强制转换)
    • 使用target-type(value)将表达式强制转换为所需的数据类型

8、内置标准数学函数

函数含义实例结果
abs()数值x的绝对值。如果x为复数,则返回x的模abs(-1.2) abs(1-2j)1.2 2.23606797749979
divmod(a,b)返回a除以b的商和余数divmod(5,3)(1, 2)
pow(x,y[,z])返回x的y次幂(x**y)。如果指定z,则为pow(x,y)%zpow(2,10) pow(2,10,10)**1024 ** 4
round(number[,ndigits])四舍五入取整。如果指定ndigits,则保留ndigits小数round(3.14159) round(3.14159,4)**3 ** 3.1416
sum(inerable[,start])求和sum((1, 2, 3)) sum((1, 2, 3), 44)6 50

问题

输出不出来

import sys

a = float(sys.argv[1])
b = float(sys.argv[2])
c = a * b
print(a,'*',b,'=',c)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值