1数据类型
使用type()函数去查看元素的类型
1.1数字类型
a
= 3
f
= 3.14
c
= 3 + 4j
判断这是什么类型? type()
print(type(a
))
print(type(f
))
print(type(c
))
判断这是不是int类型?这是不是str类型? isinstance()
print(isinstance(a
, int))
判断两个数字是否相等?math.isclose()
import math
print(0.4 - 0.3 == 0.1)
print(math
.isclose
(0.4 - 0.3, 0.1))
1.2字符串类型-String
如何去表示字符串呢?
- 单引号 a = 'test'
- 双引号 b = "Python"
- 三引号 text = '''内容...''' #三个单引号
一个代码示例
text
= "Beautiful is better than ugly." \
"Easy is better than complex."
print(len(text
))
print(text
.count
('is'))
print('beautiful' in text
)
转义-如何在字符串里面去表达出来反斜杠\呢?
\n表示换行;\t表示制表符(空格)用两个\ \去表达\
print('jiwei\\')
那么多个反斜杠呢?
可以使用r加字符串 表示字符串的原始含义
print(r
'jiwei\\')
常用方法!!!
a
= 'python Is Perfect'
print(a
.upper
())
print(a
.lower
())
print(a
.title
())
print(a
.capitalize
())
b
= ' python '
print(b
.strip
())
print(a
.split
(' '))
print(' '.join
(['hello', 'world']))
print(a
.find
('t'))
print(a
.replace
('Is', 'Are'))
其他重要的方法!!!
字符串映射
table
= ''.maketrans
('0123456789', '零一二三四五六七八九')
print('Tel:62819743'.translate
(table
))
对齐方式
编码和解码
a
= '你好'
print(a
.encode
())
print(type(a
.encode
()))
x
= b
'\xe6\x89\x8e\xe5\xbf\x83\xe4\xba\x86\xef\xbc\x8c\xe8\x80\x81\xe9\x93\x81'
print(x
.decode
())
1.3列表类型-list
列表的创建
list = ['abcd', 785, 23, 'run', 72.1]
print(list((3, 5, 7, 9)))
print(list(range(1, 10, 2)))
print(list('hello world'))
print(list({2, 4, 2, 1}))
列表的索引
列表的拼接、重复
使用+进行列表的拼接;使用*表示列表的重复
list = ['abcd', 785, 23, 'run', 72.1]
list2
= [1111]
print(list+list2
)
列表生成器
print([x
** 2 for x
in range(5)])
print([i
* 2 for i
in range(1, 100) if i
* 2 < 50])
列表常用方法
a
= [4, 2, 3, 6, 6, 9, 5, 8, 1]
a
.insert
(0, 1)
print(a
)
a
.append
(77)
print(a
)
a
.sort
()
print(a
)
a
.reverse
()
print(a
)
print(a
.index
(77))
print(a
.count
(1))
a
.remove
(77)
print(a
)
print(a
.pop
())
print(a
)
print(a
.pop
(-2))
b
= [22, 23, 24]
a
.extend
(b
)
print(a
)
列表-案例1
def clean_lixt(cls
):
cleaned_list
= []
for i
in cls
:
for j
in i
:
if j
.isalpha
() != True:
i
= i
.replace
(j
,'')
cleaned_list
.append
(i
)
return cleaned_list
coffee_list
= ['32latte', '_Americano30', '/34Cappuccino', 'Mocha35']
cleaned_list
= clean_lixt
(coffee_list
)
for k
, v
in zip(range(1, len(cleaned_list
)+1), cleaned_list
):
print(k
, v
)
1.4元组类型-tuple
t
= ('abcd', 785, 23, 'run', 72.1)
t1
= (1,)
==元组内元素不可以修改!!!==定义只有一个元素的元组时,元素后面要加上逗号!!!
但是元组内可以加上可变的对象,如list
t2
= ('a', 'b', 12, ['A', 'C'])
t2
[-1][0] = 'X'
print(t2
)
元组的用途
可变长位置参数
def foo(arg1
, *argst
):
print(arg1
)
print(argst
)
foo
('Hello', 'Wangdachui', 'Jiwei', 'Sunyan')
作为函数特殊返回类型
def foo():
return 1, 2, 3
print(foo
())
1.5字典类型-dict
d
= {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d
['Bob'])
字典是无序的,用键值对存储,查找极快
同一个字典中key值必须是唯一的!!!
查看字典中那些键对应的值为85
d
= {'Michael': 95, 'Bob': 75, 'Tracy': 85}
for key
in d
:
if d
[key
] == 85:
print(key
)
1.6集合类型-set
s
= set([1, 2, 3])
s2
= set([1, 1, 2, 2, 2, 3, 3])
print(s
, '\n', s2
)
print(id(s
), '\t', id(s2
))
2运算符
2.1算术运算符
乘方:**
print(-3**2)
print((-3)**2)
整除://
9 // 2 = 4
取余:%
9 % 2 = 1
除
9 / 2 = 4.5
2.2比较运算符
赋值 =比较 ==不等于 !=
2.3赋值运算符
=+=-=/=%=*=//=
2.4逻辑运算符
and 两者同时成立才为True
or 两者成立一个就为True
not 取反
2.5成员运算符
in 在。。里面not in 不在。。里面
print(60 in[70, 60, 50])
print('abc' in 'abc123sa')
print('abd' in 'a1b2cd')
print('3' in map(str, range(5)))
2.6身份运算符
is 判断两个标识符是不是引用一个对象is not
y
= 1
x
= 1
print(x
is y
)
print(id(x
) == id(y
))
3程序控制流
if
import random
x
= random
.randint
(0, 300)
count
= 0
while count
<= 5:
num
= int(input('please enter a number between 0 - 300'))
if num
== x
:
print('bingo!')
elif num
> x
:
print('too large, please try again')
else:
print('too small, please try again')
count
+= 1
print('fail!')
for循环
for i in range(1, 10, 2):
print(i)
l = list(range(11))
for i in l:
print(i)
s = 'Python'
for i in s:
print(i)
上面的输出结果都是每行一个元素的输出,那么如何在一行去输出呢?
加上end=’’
for i
in range(1, 10, 2):
print(i
, end
=',')
print()
l
= list(range(11))
for i
in l
:
print(i
, end
=' ')
print()
s
= 'Python'
for i
in s
:
print(i
,end
='')
break语句
sumA
= 0
i
= 1
while True:
sumA
+= i
i
+= 1
if sumA
> 10:
break
print('i={},sumA={}'.format(i
, sumA
))
break是
4函数、类、对象