赞
踩
除法:
print(4/3)
print(4//3)
print(4//3.0)
结果为:
1.3333333333333333
1
1.0
float类型
复数由实数或虚数组成,可以用a+bj或complex(a,b)表示,复数的实部a和虚部b都是浮点型
以下四个函数可进行类型转换
print(int(3.1415))
print(float(3))
结果为:
3
3.0
PI:圆周率
E:数学常量e,即自然对数
变量:
检查变量类型方法:type()
a = 123
print(type(a))
a = 'python'
print(type(a))
结果为:
<class ‘int’>
<class ‘str’>
变量命名规范
算术运算符
运算符 | 描述 |
---|---|
+ | 两对象相加 |
- | 两对象相减 |
* | 两对象相乘 |
/ | x除以y |
% | 取模 |
** | 返回x的y次幂 |
// | 取整数(地板除):返回商的整数部分 |
比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
<< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
赋值运算符
运算符 | 实例 |
---|---|
= | c+=a => c = c + a |
-= | c-=a => c = c - a |
>*= | c*=a => c = c * a |
/= | c/=a => c = c / a |
%= | c%=a => c = c % a |
**= | c**=a => c = c ** a |
//= | c//=a => c = c // a |
赋值运算符
运算符 | 描述(二进制) |
---|---|
& | 按位与运算:若参与运算的两个值的两个相应位为1则该位为1,否则为0 |
| | 按位或运算:只要两个对应的二进制位有一个位1则该位为1 |
^ | 按位异或运算:当两个对应的二进制位相异时,结果为1 |
~ | 按取反或运算:当两个对应的二进制位相异时,结果为1 |
<< | 左移运算符:运算数的各个二进制位全部左移若干位,由<<右边的数决定,高位丢弃,低位补0 |
>> | 右移运算符:运算数的各个二进制位全部左移若干位,由>>右边的数决定 |
print(a<<1)
print(a>>1)
结果为:
8
2
赋值运算符
运算符 | 描述 |
---|---|
and | “与” |
or | “或” |
not | “非” |
成员运算符
运算符 | 描述 |
---|---|
in | 如果x在y序列中,就返回True |
not in | 如果x不在y序列中,就返回True |
list = [1,2,3,4,5]
print(2 in list)
print(100 in list)
print(2 not in list)
print(100 not in list)
结果为:
True
False
False
True
身份运算符
身份运算符是用于比较两个对象的存储单元
运算符 | 描述 |
---|---|
is | 如果两者是一个存储单元则返回True |
is not | 如果两者不是一个存储单元则返回True |
a = 10
b = 10
print(a is b)
print(a is not b)
b = 20
print(a is b)
print(a is not b)
结果为:
True
False
False
True
字符串用 ‘ 或者“创建字符串,可用+做字符串拼接
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d"%(i,j,i*j),end=' ')
print(' ')
结果为:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
序列中的元素的索引都是从0开始递增的
a = 'HELLO'
print(a[0])
print(a[2])
结果为:
H
L
也可以从右往左获取元素:
a = 'HELLO'
print(a[-1])
print(a[-2])
结果为:
O
L
注意:0和-0都指向第一个元素
可以直接对索引进行操作
print('请输入一句话: ')
thirdth = input()[0]
print(thirdth)
结果为:
请输入一句话:
你好呀
你
索引用来对单个元素进行访问,使用分片可以对一定范围内的元素进行访问
number = [1,2,3,4,5,6,7,8,9,10]
print(number[1:3])
print(number[-3:-1])
结果为:
[2, 3]
[8, 9]
number = [1,2,3,4,5,6,7,8,9,10]
print(number[:])
print(number[0:])
print(number[-3:])
print(number[:3])
print(number[:-3])
结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[8, 9, 10]
[1, 2, 3]
[1, 2, 3, 4, 5, 6, 7]
number = [1,2,3,4,5,6,7,8,9,10]
print(number[::2])
print(number[::-1])
print(number[::-2])
结果为:
[1, 3, 5, 7, 9]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[10, 8, 6, 4, 2]
print([1, 2, 3]+[4, 5, 6])
a = [1, 2]
b = [5, 6]
print(a + b)
a = 'hello'
b = 'word'
print(a + b)
结果为:
[1, 2, 3, 4, 5, 6]
[1, 2, 5, 6]
helloword
print('hello'*5)
print([7]*10)
结果为:
hellohellohellohellohello
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
三个函数使用方法
number = [300, 100, 200, 800, 500]
print(len(number))
print(max(number))
print(min(number))
print(max(1, 2, 3, 4, 5, 5, 5))
print(min(1, 2, 3, 4, 5, 5, 5))
结果为:
5
800
100
5
1
1. 元素赋值
number = [300, 100, 200, 800, 500]
number[1] = 'hello'
print(type(number))
print(number)
print(type(number[1]))
print(type(number[2]))
结果为:
<class ‘list’>
[300, ‘hello’, 200, 800, 500]
<class ‘str’>
<class ‘int’>
注意:不能为一个不存在元素的位置赋值
2. 增加元素
list.append(obj)
list代表列表,obj代表需要添加到list列表末尾的对象
number = [300, 100, 200, 800, 500]
number.append('xixixi')
print(number)
结果为:
[300, 100, 200, 800, 500, ‘xixixi’]
3. 删除元素
del list[index]
number = [300, 100, 200, 800, 500]
del number[1]
print(number)
结果为:
[300, 200, 800, 500]
4. 分片赋值
list()函数:可以直接将字符串转换为列表
list()函数和分片赋值的使用:
a = list('女排夺冠了')
print(a)
a[3:] = list('什么啦?')
print(a)
a[2:6] = []
print(a)
结果为:
[‘女’, ‘排’, ‘夺’, ‘冠’, ‘了’]
[‘女’, ‘排’, ‘夺’, ‘什’, ‘么’, ‘啦’, ‘?’]
[‘女’, ‘排’, ‘?’]
5. 嵌套列表
a=['a', 'b', 'c']
b = [1, 2, 3]
mix = [a, b]
print(mix)
print(mix[0])
print(mix[1])
结果为:
[[‘a’, ‘b’, ‘c’], [1, 2, 3]]
[‘a’, ‘b’, ‘c’]
[1, 2, 3]
6. 列表方法
(1) append
功能:在列表的末尾添加新对象
list.append(obj)
(2) count
list.count(obj)
用于统计某个元素在列表中出现的次数(liist代表列表,obj代表列表中统计的对象)
a=['a', 'b', 'c', 'c']
print(a.count('c'))
# 嵌套列表
mix = [[1, 3], 2, 4, [1, 3]]
print(('嵌套列表mix中列表[1,3]的个数为:%d' %mix.count([1,3])))
结果为:
2
嵌套列表mix中列表[1,3]的个数为:2
(3) extend
功能:将一个序列增加到另一个序列的末尾
语法:list.extend(seq)
list代表被扩展的列表,seq代表追加到list末尾的列表
a = ['hello', 'world']
b = ['python', 'is', 'funny']
a.extend(b)
结果为:
[‘hello’, ‘world’, ‘python’, ‘is’, ‘funny’]
(4) index
功能:从列表中找到某个值第一个匹配项的索引项目
语法:list.index(obj)
list代表列表,obj代表要查找的对象
field = ['hello', 'world', 'python', 'is', 'funny']
print('hello 的索引位置:', field.index('hello'))
print('python 的索引位置:', field.index('python'))
hello 的索引位置: 0
python 的索引位置: 2
(5) insert
功能:用于将对象插入列表
语法:list.insert(index, obj)
list代表列表,index代表插入对象obj需要插入的索引位置
field = ['hello', 'world', 'python', 'is', 'funny']
print('插入之前的num:', field)
field.insert(2, 'hahahaha')
print('插入之后的num:', field)
结果为:
插入之前的num: [‘hello’, ‘world’, ‘python’, ‘is’, ‘funny’]
插入之后的num: [‘hello’, ‘world’, ‘hahahaha’, ‘python’, ‘is’, ‘funny’]
(6) pop
功能:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
语法:list.pop(obj=list[-1])
list代表列表,obj为可选择的参数,代表要移除列表元素的对象
field = ['hello', 'world', 'python', 'is', 'funny']
print(field.pop())
print('移除元素后的field: ', field)
field.pop(3)
print('移除元素后的field: ', field)
field.pop(0)
print('移除元素后的field: ', field)
结果为:
funny
移除元素后的field: [‘hello’, ‘world’, ‘python’, ‘is’]
移除元素后的field: [‘hello’, ‘world’, ‘python’]
移除元素后的field: [‘world’, ‘python’]
注意:pop是唯一一个既能修改列表又能返回元素值(除了None外)的列表方法
使用pop可以实现一种常用的数据结构——栈:可以用pop()不传参默认移除最后一位来模拟栈先进后出的操作
num = [1, 2, 3]
num.append(num.pop())
print('num追加出栈值的操作结果:', num)
结果为:
num追加出栈值的操作结果: [1, 2, 3]
解释:先执行num.pop(),执行过后num的值为[1, 2],num.pop()的值为3,使用num.append()方法将3添加到[1, 2]末尾,最后得到的值为[1, 2, 3]
(7) remove
功能:remove方法用于移除列表中某个值的第一个匹配项
语法:list.remove(obj)
list代表列表,obj为列表中要移除的对象
field=['女排', '精神', '中国', '精神', '学习', '精神']
print('移除前列表field:', field)
field.remove('精神')
print('移除后列表field:', field)
结果为:
移除前列表field: [‘女排’, ‘精神’, ‘中国’, ‘精神’, ‘学习’, ‘精神’]
移除后列表field: [‘女排’, ‘中国’, ‘精神’, ‘学习’, ‘精神’]
(8) reverse
功能:反向列表中的元素(reversed可以将结果返回)
语法:list.reverse()
list代表列表,该方法不需要传入参数
num=[1, 2, 3]
num=[3, 8, 4, 1, 5, 9]
print('列表反转前num:', num)
print(num.reverse())
print('列表反转后num:', num)
print(list(reversed(num)))
结果为:
列表反转前num: [3, 8, 4, 1, 5, 9]
None
列表反转后num: [9, 5, 1, 4, 8, 3]
[3, 8, 4, 1, 5, 9]
(9) sort
功能:用于对原本列表进行排序(sorted可直接获取返回值)
语法:list.sort(func)
list代表列表,func代表可选参数。如果指定该参数,就会使用该参数的方法进行排序
num=[3, 8, 4, 1, 5, 9]
print('列表反转前num:', num)
num.sort()
print('列表反转后num:', num)
结果为:
列表反转前num: [3, 8, 4, 1, 5, 9]
列表反转后num: [1, 3, 4, 5, 8, 9]
(10)clear
功能:用于清空列表,类似于del a[:]
语法:list.clear()
list代表列表,不需要穿传入参数
num=[3, 8, 4, 1, 5, 9]
print('清除前的num:', num)
num.clear()
print('清除后的num:', num)
结果为:
清除前的num: [3, 8, 4, 1, 5, 9]
清除后的num: []
(11)copy
功能:用于复制列表
语法:list.copy()
list代表列表,不需要传入参数
num=[3, 8, 4, 1, 5, 9]
print('num:', num)
copyNum = num.copy()
print('copyNum:', num)
结果为:
num: [3, 8, 4, 1, 5, 9]
copyNum: [3, 8, 4, 1, 5, 9]
(12) 高级排序
自定义比较方法排序:sort方法有两个可选参数,即key和reverse。
num=['study', 'python', 'is', 'happy']
print('排序前的num:', num)
num.sort(key=len) #按字符串长度从短到长排序
print('排序后的num:', num)
num=['study', 'java', 'is', 'happy']
print('排序前的num:', num)
num.sort(key=len, reverse=True)#按字符串长度长到短排序
print('排序后的num:', num)
num = [3, 4, 2, 5, 1]
print('排序前的num:', num)
num.sort(reverse=True) #排序后逆序
print('排序后的num:', num)
结果为:
排序前的num: [‘study’, ‘python’, ‘is’, ‘happy’]
排序后的num: [‘is’, ‘study’, ‘happy’, ‘python’]
排序前的num: [‘study’, ‘java’, ‘is’, ‘happy’]
排序后的num: [‘study’, ‘happy’, ‘java’, ‘is’]
排序前的num: [3, 4, 2, 5, 1]
排序后的num: [5, 4, 3, 2, 1]
元组跟列表类似,不同之处在于元组的元素不能修改(字符串的元素也不能修改),创建元组的方法就是使用逗号分隔一些值,就会自动创建元组,每个值后面必须跟一个逗号,例如(1,)
元组的创建实例:
n=(1,2,3)#创建多个值的元组
print(n)
n = ()#创建空元组
print(n)
n = (1,)#创建1个值的元组
print(n)
结果为:
(1, 2, 3)
()
(1,)
tuple函数功能和list函数基本是一样的,以一个序列作为参数,并把它转换成元组,如果参数是元组,参数会被照原样返回
num=['study', 'python', 'is', 'happy']
print(tuple(num))
print(tuple(['study', 'python', 'is', 'happy']))
print(tuple('hello'))
print(tuple(('hello', 'world'))) #参数为元组
结果为:
(‘study’, ‘python’, ‘is’, ‘happy’)
(‘h’, ‘e’, ‘l’, ‘l’, ‘o’)
(‘hello’, ‘world’)
可以使用下索标引访问元组中的值
num=['study', 'python', 'is', 'happy']
print("num[1] is: " ,num[1])
print("num[1:3] is: ", num[1:3])
结果为:
num[1] is: python
num[1:3] is: [‘python’, ‘is’]
元组中元素的值不允许修改,但是可以对元组进行连接组合,例如:
num1=('study', 'python')
num2=('is', 'happy')
num3=(2018,2019)
print("合并结果为: " ,num1+num2+num3)
结果为:
合并结果为: (‘study’, ‘python’, ‘is’, ‘happy’, 2018, 2019)
元组中的元素不允许删除,但是可以通过del语句删除整个元组,例如:
num = ('study', 'python', 'is', 'happy', 2018, 2019)
del num
print(num)
结果为:
NameError: name ‘num’ is not defined
num = ('study', 'python', 'is', 'happy', 2018, 2019)
print(num[2])
print(num[-2])
print(num[1:])
print(num[-1:])
结果为:
is
2018
(‘python’, ‘is’, ‘happy’, 2018, 2019)
(2019,)
(1)len(tup)
(2)max(tup)
(3)min(tup)
(4)seq(tup)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。