python学习
基本数据类型
标准数据类型
Python3 中常见的数据类型有:
- Number(数字)
- String(字符串)
- bool(布尔类型)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
- Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
Number
Python3 支持 int、float、bool、complex(复数)。
内置的 type() 函数可以用来查询变量所指的对象类型。
1
2
3
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
此外还可以用 isinstance 来判断:
1
2
3
4
>>> a = 111
>>> isinstance(a, int)
True
>>>
isinstance 和 type 的区别在于:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
销毁对象
1
2
del var
del var_a, var_b
abs(x)
:返回数字的绝对值,如abs(-10)
返回10
ceil(x)
:返回数字的上入整数,如math.ceil(4.1)
返回5
exp(x)
:返回e
的x
次幂,如math.exp(1)
返回2.718281828459045
fabs(x)
:以浮点数形式返回数字的绝对值,如math.fabs(-10)
返回10.0
floor(x)
:返回数字的下舍整数,如math.floor(4.9)
返回4
log(x)
:如math.log(math.e)
返回1.0
,math.log(100,10)
返回2.0
log10(x)
:返回以10
为基数的x
的对数,如math.log10(100)
返回2.0
max(x1, x2,...)
:返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)
:返回给定参数的最小值,参数可以为序列。
modf(x)
:返回x
的整数部分与小数部分,两部分的数值符号与x
相同,整数部分以浮点型表示。
pow(x, y)
:x**y
运算后的值。
round(x [,n])
:返回浮点数x
的四舍五入值,如给出n
值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x)
返回数字x
的平方根。
数值运算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
String(字符串)
- 从前往后索引从
0
开始 - 从后往前索引从
-1
开始 ```python str = ‘Runoob’
print (str) # 输出字符串 print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 print (str[0]) # 输出字符串第一个字符 print (str[2:5]) # 输出从第三个开始到第五个的字符 print (str[2:]) # 输出从第三个开始的后的所有字符 print (str * 2) # 输出字符串两次,也可以写成 print (2 * str) print (str + “TEST”) # 连接字符串 print(str[:2]) # 输出2之前的字符串 ‘’’ 结果如下: Runoob Runoo R noo noob RunoobRunoob RunoobTEST Ru ‘’’
1
2
3
4
5
6
7
8
### string运算符
`+`:字符串连接`a + b`
`*`:重复输出字符串`a*2`
`[]`:通过索引获取字符串中字符
`[ : ]`:截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。
`in`:成员运算符 - 如果字符串中包含给定的字符返回 True
`not in`:成员运算符 - 如果字符串中不包含给定的字符返回 True
`r/R`:原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
print( r’\n’ )
print( R’\n’ )
1
2
3
4
5
`%`:格式字符串
### 格式化字符串
```python
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
# 输出:我叫 小明 今年 10 岁!
fstring
1
2
3
4
5
6
7
8
9
>>> name = 'Runoob'
>>> f'Hello {name}' # 替换变量
'Hello Runoob'
>>> f'{1+2}' # 使用表达式
'3'
>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'
bool
==
,!=
,and
,or
,not
List(列表)
写在方括号内[]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
"""
结果:
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
"""
支持索引更新,append为添加元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python3
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
结果:
第三个元素为 : 1997
更新后的第三个元素为 : 2001
更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
del list[2]
可以删除相应的元素
元组
使用()
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
注释
1
2
3
4
# 单行注释
"""
多行注释(单引号也可以)
"""
运算符
新增(相较于c++): and
,or
,not
而非&&
,||
,!
:=
赋值并返回值
in
如果在指定的序列中找到值返回True
,否则返回 False
。
not in
如果在指定的序列中没有找到值返回True
,否则返回False
。
is
:x is y
, 类似 id(x) == id(y)
,如果引用的是同一个对象则返回True
,否则返回False
(比较地址) is not
:同理