02.语言元素
...2023年2月17日大约 3 分钟
02.语言元素
变量和类型
常用的数据类型:
- 整型
Python 2.x 中有int
和long
,Python 3.x 中只有int
。
支持二进制(0b100
,十进制 4),八进制(0o100
,十进制 64),十六进制(0x100
,十进制 256) - 浮点型
浮点数除了支持数学写法,如123.456
,还支持科学计数法,如1.23456e2
- 字符串型
以单引号或双引号括起来的任意文本,比如'hello'
或"hello"
- 布尔型
布尔值只有True
和False
,注意大小写。 - 复数型
形如3+5j
,跟数学上的复数一样,只不过是虚部的i
换成了j
。
变量命名
- 硬性规则
- 变量由字母,数字和下划线构成,数字不能开头。
- 大小写敏感
- 不要跟关键字,保留字冲突
- PEP 8 要求
- 小写字母拼写,下划线连接
- 受保护的实例属性用单个下划线开头
- 私有的实例属性用两个下划线开头
变量的使用
在 Python 中可以使用 type
函数对变量的类型进行检查。
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
print(type(d)) # <class 'str'>
print(type(e)) # <class 'bool'>
试一试:
python day-01-15/day-02/var-type.py
可以使用 Python 中的内置函数对变量类型进行变换。
int()
将一个数值或字符串转换成正数,可以指定进制。float()
将一个字符串转换成浮点数。str()
将指定的对象转换成字符串形式,可以指定编码。chr()
将整数转换成该编码对应的字符串(一个字符)。ord()
将字符串(一个字符)转换成对应的编码(整数)
下面的代码通过键盘输入两个整数来实现对两个整数的算术运算。
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
print('%d - %d = %d' % (a, b, a - b))
print('%d * %d = %d' % (a, b, a * b))
print('%d / %d = %f' % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))
print('%d %% %d = %d' % (a, b, a % b))
print('%d ** %d = %f' % (a, b, a ** b))
试一试:
python day-01-15/day-02/calc.py
运算符
Python 支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符。
运算符 | 描述 |
---|---|
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反,正负号 |
* / % // | 乘,除,摸,整除 |
+ - | 加,减 |
>> << | 右移,左移 |
& | 按位与 |
^ | | 按位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
+= -= 等 | a +=b 等价于 a = a + b |
练习
华氏温度转换为摄氏温度
提示
华氏温度到摄氏温度的转换公式为:
'''
华氏温度转换为摄氏温度
'''
f = float(input('请输入华氏温度:'))
c = (f - 12) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
在使用 print
函数输出时,也可以对字符串内容进行格式化处理。
上面的 print
函数中的字符串 %.1f
是一个占位符,稍后会由一个 float
变量替换它。
同理, %s
由字符串替换,%d
用整数变量替换。
除了这种格式化字符串的方式外,还可以用下面的方式来格式化字符串,其中 {f:.1f}
和 {c:.1f}
可以先看成 {f}
和 {c}
,表示输出时会用变量 f
和 c
的值会替换掉这两个占位符,后面的 %.1f
表示这是一个浮点数,小数点后保留 1 位有效数字。
print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')
试一试:
python day-01-15/day-02/deg-converter.py
输入年份判断是不是闰年
"""
输入年份判断是不是闰年
"""
year = int(input("请输入年份:"))
is_leap = year % 4 == 0 and year % 100 != 0 \
or year % 400 == 0
print(is_leap)
试一试:
python day-01-15/day-02/is-leap.py
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0
Powered by Waline v3.3.2