Python学习第二章 Python语法基础
一 Python数据类型
1.数值类型
Python支持四种数据类型
(1)整型(int):通常被称为整型或整数,是正或负整数,不带小数点。
例如:1,10,-19,-1,0
(2)长整型(long):无限大小的整数,整数最后是一个大写或者小写的L。
(3)浮点型(float):浮点型由整数部分和小数部分组成,浮点型也可以使用科学技术法表示。
例如:2.78e2=2.78X10²=278
(4)复数(complex):复数由实数部分和虚数部分组成可以用a+bj或者complex(a,b)表示。
在Python中,数据类型是不允许改变的,如果改变数据类型的值,那么将重新分配内存空间。
2.字符串
字符串的创建:使用引号来创建字符串。Python不支持字符类型,单字符在Python中也作为一个字符串使用。
var1='hello world!'
var2='Python programming'
print("var1[0]",var1[0])
print("var2[1:5]",var2[1:5])
代码运行结果:
var1[0] h
var2[1:5] ytho
3.转义字符
需要在字符中使用特殊字符时,Python用反斜杠(\)转义字符
例如:
转义字符 | 描述 |
---|---|
\ | 续行符 |
\r | 回车 |
\n | 换行 |
4.字符串运算
例如: 实例变量a值为字符串“hello”,b值为字符串“world”
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a+b输出结果 :helloworld |
* | 重复输出字符串 | a*2输出结果:hellohello |
[] | 通过索引获取字符串中字符 | a[2]输出结果:l |
[:] | 截取字符串中的一部分 | a[1:3]输出结果:el |
in | 成员字符串,如果字符串中包含给定的字符则返回true | ‘e’in a输出结果为True |
not in | 和in 相反 | ‘M’not in a输出结果:True |
R或r | 将所有转义和特殊字符按照字面意思输出显示 | print(R’\n prints\n’)输出结果:\n prints\n |
5.字符串格式化
符号 | 描述 |
---|---|
%c | 格式化字符 |
%s | 格式化字符串 |
%d | 格式化十进制整数 |
%u | 格式化无符号整数 |
%o | 格式化八进制数 |
%x | 格式化十六进制数 |
%X | 格式化十六进制数(大写) |
%f | 格式化浮点数,可指定小数点后精度 |
%e | 用科学计数法格式化浮点数 |
%E | 同%e |
%p | 用十六进制数格式化变量的地址 |
例:
charA=33
charB=64
print("ASCII码代表:%c"%charA) #格式化字符
print("ASCII码代表:%c"%charB)
str1=0xff
str2='helloworld'
print("格式化字符串:%s"%str1)
print("格式化字符串:%s"%str2)
num1=0xFF
num2=0xAB03
print('转换成十进制数分别为:%d和%d'%(num1,num2))
num3=1200000
print('转换为浮点数:%g'%num3)
num4=1200000
print('转换为浮点数:%f'%num4)
代码输出结果:
ASCII码代表:!
ASCII码代表:@
格式化字符串:255
格式化字符串:helloworld
转换成十进制数分别为:255和43779
转换为浮点数:1.2e+06
转换为浮点数:1200000.000000
6.布尔类型:布尔类型只有True和False两种值,但是布尔类型可以参与and运算、or运算和not运算
(1)and与运算:两个布尔值都为TRUE时才为TRUE
(2)or或运算:只要有一个布尔值为TRUE,计算结果就是TRUE
(3)not非运算:把TRUE变为FALSE,或者把FALSE变为TRUE
Python中布尔类型还可以与其他数据类型做与或非运算,下面几种情况会被认定为FALSE:0,” “,None,空集合,其他值都为TRUE
7.空值:None 和其他数据类型比较结果永远为FALSE
8.数字类型转换:
操作符 | 描述 |
---|---|
int(x,[,base]) | 将X转换为一个整数 |
long(x,[,base]) | 将X转换为一个长整形 |
float(x) | 将X转换为一个浮点型 |
complex(real[,imag]) | 创建一个复数 |
str(x) | 将对象X转换为字符串 |
repr(x) | 将X转换为表达式字符串 |
eval(str) | 计算字符串中的有效表达式,并且返回一个对象 |
tuple(s) | 将序列s转换为一个元组 |
list(s) | 将序列s转换为一个列表 |
chr(x) | 将一个整数ASCII转换为一个字符 |
unichr(x) | 将一个证书转换为Unicode字符 |
ord(x) | 将一个字符转换为他的ASCII码整数值 |
hex(x) | 十六位转换 |
oct(x) | 八位转换 |
x=20
y=345.6
z='@'
q=10,11,12,13
print(oct(x))
print(int(y))
print(float(x))
print(chr(65))
print(ord('b'))
print(list(q))
print(hex(x))
结果为:
0o24
345
20.0
A
98
[10, 11, 12, 13]
0x14
小问题:在数据类型方面,Python和Java有何区别?
下一篇将学习Python中的常量与变量