python输入格式一个不带小数点_python 学习(四)- 变量类型

一、变量的定义和使用

为什么需要变量?当然是通过变量来存储数据,而存储的数据类型可能是数字、字符串、字符等等,将这些数据存储在变量中,可以方便我们去使用,除了变量之外还有一个常量,区别就是,常量是不可变的,而变量是可变的。

1.1 变量的赋值

要使用一个变量,首先需要做的当然是给这个变量赋值,在 python 中,通过 = 号进行赋值:

var = value

其中,var 为变量,value 为具体的值。

注意,变量是标识符的一种,要遵守标识符命名规则。

1.2 变量的使用

a = 1

print(1)

b = 2

sum = a + b

print(sum)

url = "http://www.baidu.com"

print("百度网址为:" + url)

通过上面变量的定义可以看出来,python 是弱类型语言,因为 python 定义变量时不需要声明变量的类型,而且赋值的数据也可以是不同类型的,类似的弱类型语言有 python、JavaScript、PHP,弱类型语言有以下特点:

1)变量无需声明即可赋值,对于一个不存在的变量赋值就相当于一个新的变量。

2)变量的数据类型可以随时改变。

注意:弱类型并不等于没有类型,可以使用 type() 内置函数类检测某个变量或者表达式的类型。

a = 1

# print

print(type(a))

二、整数类型(int)

2.1 定义与使用

整数即不带小数点的正整数、负整数、0,python 与其他强类型语言不同的地方在于 python 只有一种类型的整数,那就是 int,且整数的取值范围是无限的:

a = 1

# print 1

print(a)

b = 1000000000000

# print 1000000000000

print(b)

c = -1000000000000

# print -1000000000000

print(c)

2.2 进制问题

1)二进制类型:由0和1两个数字组成,书写时以 0b 或 0B 开头,例如,101对应十进制数是5。

a = 0b101

# print 5

print(a)

b = 0B110

# print 6

print(b)

2)八进制类型:八进制整数由0~7共八个数字组成,以 0o 或 0O 开头,第一个符号是数字0,第二个符号是大写或小写的字母 O。

a = 0o26

# print 22

print(a)

b = 0O41

# print 33

print(b)

3)十进制类型:

我们平时常见的整数就是十进制形式,它由0~9共十个数字排列组合而成。

注意,使用十进制形式的整数不能以0作为开头,除非这个数值本身就是0。

4)十六进制类型:由0~9十个数字以及 A~F(或 a~f)六个字母组成,书写时以 0x 或 0X 开头。

a = 0x45

# print 69

print(a)

b = 0x4Af

# print 1199

print(b)

2.3 数字分隔符

为了提高数字的的可读性,Python 3.x 允许使用下划线作为数字(包括整数和小数)的分隔符,通常每隔三个数字添加一个下划线,类似于英文数字中的逗号,下划线不会影响数字本身的值。

a = 1_000_000

# print 1000000

print(a)

三、小数/浮点数类型(float)

3.1 定义与使用

同样和强类型语言有区别的是,python 只有 float 类型表示小数,小数通常以浮点数的形式存储,浮点数和定点数是相对的,小数在存储过程中如果小数点发生移动,就称为浮点数,如果小数点不动,就称为定点数,python 中的小数有两种书写形式:

1)十进制形式:

这种就是我们平时看到的小数形式,例如 34.6、346.0、0.346,书写小数时必须包含一个小数点,否则会被 python 当作整数处理。

2)指数形式:

python 小数的指数形式的写法为:aEn 或 aen,a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E 或 e 是固定的字符,用于分割尾数部分和指数部分,整个表达式等价于 a×10n。

指数形式的小数举例:

2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。

3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。

0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。

注意,指数形式即小数,即使它的最终值看起来像一个整数,例如14E3等价于14000,但14E3是一个小数。

a = 1.23

# print 1.23

print(a)

b = 12e4

# print 120000.0

print(b)

c = 12.3 * 0.1

# print 1.2300000000000002

print(c)

四、字符串类型(str)

字符串就是将多个字符组合在一起,python 中字符串写法有两种,一种是单引号写法,一种是双引号写法:

# 字符串的内容可以包含字母、标点、特殊符号、中文等所有文字。

‘这是单引号写法‘

"这是双引号写法"

注意:字符串中的双引号和单引号没有任何区别。

4.1 处理字符串中的引号

当字符串内容中出现引号时,我们需要进行特殊处理,否则 python 会解析出错,有以下方式,例如:

# ‘I‘m a great coder!‘

str1 = ‘I\‘m a great coder!‘

# print I‘m a great coder!

print(str1)

str2 = "I‘m a great coder!"

# print I‘m a great coder!

print(str2)

4.2 字符串换行

python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求,要想换行书写一个比较长的字符串,可以进行如下操作:

s2 = ‘字符串的换行操作. 字符串的换行操作. 字符串的换行操作.‘

上面 s2 字符串的比较长,所以使用了转义字符 \ 对字符串内容进行了换行,这样就把一个长字符串写成多行。

4.3 长字符串

长字符串即不用加 \ 便可以直接换行书写的字符串:

longstr = ‘‘‘

这个是长字符串.

这个是长字符串.

这个是长字符串.

‘‘‘

print(longstr)

4.4 原始字符串

在原始字符串中,\ 不会被当作转义字符,所有的内容都得到了保持。

在普通字符串或者长字符串的开头加上 r 前缀即可:

str1 = r‘原始字符串内容‘

# print 原始字符串内容

print(str1)

五、布尔类型(bool)

bool 类型用来表示真(对)或假(错),例如 1 > 2 是错的,2 > 1 是对的:

# print False

print(1 > 2)

# print True

print(2 > 1)

注意:True 和 False 是 python 的关键字,作为 python 代码输入时,要注意字母大小写,否则会报错。

另外,布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0,因此,下边这些运算都是可以的:

# print 1

print(False + 1)

# print 2

print(True + 1)

六、字节串类型(bytes)

bytes 是 python 3.x 新增的类型,字节串(bytes)和字符串(string)的对比:

字符串由若干个字符组成,以字符为单位进行操作,字节串由若干个字节组成,以字节为单位进行操作。

字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。

字节串和字符串都是不可变序列,不能随意增加和删除数据。

bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定,如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串,说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。

bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程,bytes 也可以用来存储图片、音频、视频等二进制格式的文件,字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象,有以下三种方法可以达到这个目的:

如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加 b 前缀就可以转换成 bytes。

bytes 类,调用构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes,默认采用 UTF-8。

字符串有 encode() 方法,用来将字符串按照指定的字符集转换成对应的字节串,默认采用 UTF-8。

# 将字符串转换成 bytes

a = bytes(‘将字符串转换成 bytes‘, encoding=‘UTF-8‘)

# print b‘\xe5\xb0\x86\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe8\xbd\xac\xe6\x8d\xa2\xe6\x88\x90 bytes‘

print(a)

原文:https://www.cnblogs.com/isKylin/p/14060029.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您编写一个简单的GUI计算器,支持小数点输入和计算。您可以使用Python的Tkinter库来实现GUI界面,并使用eval()函数来计算输入的表达式。以下是代码示例: ```python from tkinter import * def button_click(num): global expression expression = expression + str(num) input_text.set(expression) def button_clear(): global expression expression = "" input_text.set("") def button_equal(): try: global expression result = str(eval(expression)) input_text.set(result) expression = "" except: input_text.set("error") expression = "" root = Tk() root.title("Calculator") expression = "" input_text = StringVar() input_frame = Frame(root, width=312, height=50, bd=0, highlightbackground="black", highlightcolor="black", highlightthickness=1) input_frame.pack(side=TOP) input_field = Entry(input_frame, font=('arial', 18, 'bold'), textvariable=input_text, width=50, bg="#eee", bd=0, justify=RIGHT) input_field.grid(row=0, column=0) input_field.pack(ipady=10) button_frame = Frame(root, width=312, height=272.5, bg="grey") button_frame.pack() clear_button = Button(button_frame, text="C", fg="black", width=32, height=3, bd=0, bg="#eee", cursor="hand2", command=button_clear) clear_button.grid(row=0, column=0, columnspan=3, padx=1, pady=1) button_1 = Button(button_frame, text="1", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(1)) button_1.grid(row=1, column=0, padx=1, pady=1) button_2 = Button(button_frame, text="2", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(2)) button_2.grid(row=1, column=1, padx=1, pady=1) button_3 = Button(button_frame, text="3", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(3)) button_3.grid(row=1, column=2, padx=1, pady=1) button_4 = Button(button_frame, text="4", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(4)) button_4.grid(row=2, column=0, padx=1, pady=1) button_5 = Button(button_frame, text="5", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(5)) button_5.grid(row=2, column=1, padx=1, pady=1) button_6 = Button(button_frame, text="6", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(6)) button_6.grid(row=2, column=2, padx=1, pady=1) button_7 = Button(button_frame, text="7", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(7)) button_7.grid(row=3, column=0, padx=1, pady=1) button_8 = Button(button_frame, text="8", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(8)) button_8.grid(row=3, column=1, padx=1, pady=1) button_9 = Button(button_frame, text="9", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(9)) button_9.grid(row=3, column=2, padx=1, pady=1) button_0 = Button(button_frame, text="0", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(0)) button_0.grid(row=4, column=0, padx=1, pady=1) button_dot = Button(button_frame, text=".", fg="black", width=10, height=3, bd=0, bg="#fff", cursor="hand2", command=lambda: button_click(".")) button_dot.grid(row=4, column=1, padx=1, pady=1) button_equals = Button(button_frame, text="=", fg="black", width=10, height=3, bd=0, bg="#eee", cursor="hand2", command=button_equal) button_equals.grid(row=4, column=2, padx=1, pady=1) root.mainloop() ``` 在这个简单的计算器中,我使用了一个字符串变量`expression`来存储用户输入的表达式。当用户按下数字按钮时,我将数字添加到`expression`中,然后在输入框中更新表达式。当用户按下清除按钮时,我将`expression`重置为空字符串,并在输入框中显示空字符串。当用户按下等于号按钮时,我使用`eval()`函数计算输入的表达式,并在输入框中显示结果。如果发生错误,则在输入框中显示“error”消息。 这个计算器界面非常简单,只包含数字按钮、小数点按钮、清除按钮和等于号按钮。您可以按照自己的需要扩展它,添加更多的操作符和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值