Python基本数据类型–数值型
233 # int
233
2.33 # float
2.33
'233' #str
'233'
type(233)#查看变量类型
int
type(233.0)
float
type('2.33')
str
isinstance(233,int)#查看变量是否是猜测类型insinstance(变量,猜测类型)
True
isinstance(233,float)
False
isinstance('23.3',str)
True
6**666 #6的666次方
177309806357755465270499427328598301776288968306075410151885112575756027539778209314850999852445333091203575172280395689214341071142311799945944795749206487224435664711586155446695783530381869261940579191212338095792283942630165267180235014754878622816388898950208360661204545460054710039966583620720703499070583619219756147969379415147383218476051784215338153642534248184239668587526354555162441056191517103281698310461707618482703994245002903843491150719636915674602477294467393397773059407237966516507939097024659456
0b1001110#二进制
78
0o76543210#八进制
16434824
0xA20974BCF#16进制
43496459215
110#默认十进制
110
0b100.0 #二进制只能出现1 0
File "<ipython-input-15-0850f51000ff>", line 1
0b100.0 #二进制只能出现1 0
^
SyntaxError: invalid syntax
6.0**6 #浮点数
46656.0
1/6 #除法
0.16666666666666666
2/3
0.6666666666666666
233 == 233.0 #判断是否相等,返回一个bool值
True
'233' == 233
False
1+1j #复数
(1+1j)
type(1+1j)
complex
-2.33-5.7j
(-2.33-5.7j)
1+j
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-24-478f6ef4f70f> in <module>()
----> 1 1+j
NameError: name 'j' is not defined
(-2.33-5.7j).real #复数的实部
-2.33
(-2.33-5.7j).imag #复数的虚部
-5.7
Python基本数据类型–字符串
'I love Python!' #使用单引号的字符串
'I love Python!'
"You love Python"#使用双引号的字符串
'You love Python'
'I love Python!"
File "<ipython-input-29-d3e8771b6fff>", line 1
'I love Python!"
^
SyntaxError: EOL while scanning string literal
'She said:'Hi, David!''
File "<ipython-input-30-122aa73d46c7>", line 1
'She said:'Hi, David!''
^
SyntaxError: invalid syntax
"She said:'Hi, David!'" #单双引号嵌套
"She said:'Hi, David!'"
'' #空字符串
''
' ' #有空格的不是空串
' '
a = 2
StuNum = 2
print(a)
2
'''
a = 1
b = 2
c = 3
'''
print(b) #多行注释
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-35-9449e3ad6e57> in <module>()
4 c = 3
5 '''
----> 6 print(b) #多行注释
NameError: name 'b' is not defined
"""
a = 1
b = 2
c = 3
"""
print(a)
2
a = 1
b = 2
c = 3
print(a)
1
转义字符
print('I\tlike\tPython!') #\t 横向制表符 空出四个空格
I like Python!
print('I\nlike Python!') # \n 换行符
I
like Python!
print('I\blike Python!') # \b 退格,即往前删除一格
Ilike Python!
print('We\blike Python!')
Welike Python!
'She said:\'Hi, David!\'' # \' 表示字符串中的单引号
"She said:'Hi, David!'"
print('This is \\t') # 打印出\t
This is \t
print(r'This is \t') #字符串加了r,使得字符串中的转义字符不起作用
This is \t
字符串方法
len('I like Python!') #查看字符串长度
14
len('I like 派森!')
10
len('')
0
len(' ')
1
len('\t\b\a')
3
'Python'+'is'+'my'+'life.' #字符串连接
'Pythonismylife.'
'Python'+' '+'is'+' '+'my'+' '+'life.' #字符串连接(包含空格)
'Python is my life.'
字符串索引
string = 'Python' #注意是从0开始编号
print(string[0],string[4])
P o
string = 'Python' #负数表示倒数第几个
print(string[-1],string[-4])
n t
string[6] #超出范围
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-56-3735f040c2c5> in <module>()
----> 1 string[6] #超出范围
IndexError: string index out of range
字符串切片
string = 'Python' #注意切片选项的最后一个位置取不到
string[1:4]#第1个位置切到第3个位置
'yth'
string[1:4:2]#第1个位置切到第3个位置,步长为2(就是跳过第三个的 t )
'yh'
string[1:]#第1个位置切到最后
'ython'
string[::]#切出所有
'Python'
string[::2]#步长为2,切所有
'Pto'
string[::-1]#逆序字符串
'nohtyP'
string[:5]#切到第4个
'Pytho'
string[7:]#起始位置越界,返回了空字符串
''
string[:8]#结束位置越界,返回整个字符串
'Python'
算数运算符
x = 233
-x
-233
9 % 2 #取余数
1
- 9 % - 2
-1
- 2 ** 4 #乘方
-16
(- 2) ** 4
16
a = 1
b = 2.33
c = a + b #变量隐式转换类型
c
3.33
type(c)
float
d = True + a #和bool变量运算
d
2
type(d)
int
b = 2.33
e = 1+2j
f = b + e #变量隐式转换类型
f
(3.33+2j)
type(f)
complex
abs(-3) #求绝对值
3
complex(1,-2) #创建一个复数
(1-2j)
divmod(10,3) #分别返回商和余数
(3, 1)
divmod(10.5,3) #被除数是float也可以
(3.0, 1.5)
pow(2,3) #返回次方 2**3
8
a = range(0,10,2) #产生一个序列
a
range(0, 10, 2)
round(4.9) #四舍五入
5
round(3.49)
3
sum({1,2,3})# 对集合求和,之后会详细讲解集合概念
6
oct(9) #转为8进制字符串
'0o11'
hex(233) #转为16进制字符串
'0xe9'
chr(10)#返回整数对应的ascii字符
'\n'
bin(233)#转为二进制字符串
'0b11101001'
bool(233)#转为bool类型
True
bool('')#空字符串对应的bool值为False
False
输入输出
name = input('请输入你的姓名:')
请输入你的姓名:David
name
'David'
xiaohong_age = input('请输入你的年龄:') #得到的是str
请输入你的年龄:18
xiaoming_age = 18
xiaoming_age == xiaohong_age
False
type(xiaoming_age)
int
type(xiaohong_age)
str
xiaoming_age == int(xiaohong_age)
True
xiaohong_age = int(input('请输入你的年龄:'))
请输入你的年龄:18
xiaoming_age == xiaohong_age
True
print('小明','的表情是','0.0')
小明 的表情是 0.0
print('小明','的表情是','0.0',sep = ',')#sep表示分隔符
小明,的表情是,0.0
print('小明','的表情是','0.0',sep = ' ')
小明 的表情是 0.0
print('你正在学习的是:%s'%'Python')
你正在学习的是:Python
print('%s可能喜欢%s'%('小明','小红'))
小明可能喜欢小红
number = 23333
print('%6d'%number) #输出宽度为6,结果为 23333(前面有一个空格,右对齐)
23333
print('%3d'%number) #输出宽度为3,但test值宽度为5,按照实际输出,结果为23333
23333
print('%-6d'%number)#输出宽度为6,结果为23333,左对齐
23333
print('%+6d'%number)#输出宽度为6,结果为+23333,右对齐
+23333
print('%07d'%number)#输出宽度为6,结果为023333(空格用0填补)
0023333
print('%#o'%number)#八进制形式输出
0o55445
print('%#x'%number)#十六进制形式输出
0x5b25
number = 233.33333
print('%6.2f'% number)
233.33
'{name}今年{age}岁,啊( ⊙ o ⊙ ),{age}!一个如花的年龄!'.format(age = 16,name = '小红')
'小红今年16岁,啊( ⊙ o ⊙ ),16!一个如花的年龄!'
关系运算符
2 > 3
False
2 <= 3
True
2 < 2.33
True
True < 2
True
False == 0
True
True - False
1
True*2.33
2.33
2 == 2
True
2 == 3
False
2 != 3
True
'abcd' < 'abdc'
True
'' < 'a'
True
'abcd' < 'dcba'
True
'0' < 'A'
True
'a' < 'A'
False
'A' > 'a'
False
' ' < 'a'
True
'a' < '哈哈'
True
逻辑运算符
True and True
True
True and False
False
not True
False
True or False
True
False or False
False
True or True
True