Python学习笔记(一)

在这里插入图片描述

Python 为我们提供了一个函数 type() ,通过这个函数我们可以获取到当前的数据类型。示例如下:

print(type(123))

print(type(123.0))

print(type('123'))

print(type("123"))

上面示例的运行结果如下:

<class 'int'>
<class 'float'>
<class 'str'>
<class 'str'>

接着使用另一个函数 isinstance() ,这个函数的作用其实从字面意思就能看出来,判断一个对象是否是一个已知的类型,具体语法如下:

isinstance(object, classinfo)

object – 实例对象。
classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。

示例代码如下:

print(isinstance(123, int))

print(isinstance(123.0, float))

print(isinstance('123', str))

测试结果如下:

True
True
True
print(10**1000)

** 的含义是次方,上面这个示例代码的意思就是 10 的 1000 次方

十进制:正常写就 ok ,所有的数字都默认是十进制的。
二进制:在最前面添加 0b 的前缀,并且组成部分必须只能由 0 或者 1 组成(废话,有其他数字还叫二进制么),如: 0b10101010101
八进制:在最前面添加 0o 的前缀,并且组成部分必须只能有 0~7 的数字组成,如:0o12345670
十六进制:在最前面添加 0x 的前缀,并且组成部分由 0~9 和 A~F 组成,如:0xdb273dc(注意:字母大小写不做区分,也可以写成 0xDB273DC )

浮点数还包括分数,示例如下:

print(1/2)

print(1/3)

print(1/6)

结果如下:

0.5
0.3333333333333333
0.16666666666666666

因为是无限循环小数,所以会存在误差

在 Python 中,复数的表现方式如下:

print(1 + 1j)

print(type(1 + 1j))

结果如下:

(1 1j)
<class 'complex'>

概念里都讲了,复数是有实部和虚部的,那在 Python 中如何获取呢?示例如下:
在这里插入图片描述在这里插入图片描述

== 只能用来做数值的比较,并不会比较当前的数据类型,所以 123 和 123.0 是相等的。而 ‘123’ 不等于 123 则是因为 ‘123’ 是字符串,不能数值运算,而 123 是数字。

‘’ 或者 “” 表示的是空字符串,空字符串和 null 是不一样的。
字符串外面的包裹可以是单引号,也可以是双引号,需要注意的是单引号和双引号一定是成对出现的,不可混合使用

Python 识别程序是从左向右识别的,所以我们中间的一段内容 吃了吗? 会因为没有双引号的包裹而导致了报错。我们可以使用转义符号 来告诉 Python 中间的双引号并不是代表字符串的符号,是我们想要打印的符号,示例代码如下:

print("小明说:"吃了吗?"")

// 输出结果:小明说:"吃了吗?"
还可以使用连续三个单引号或者双引号,它可以使得中间被包裹起来的一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符,示例如下:

print('''
这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( 	 )。
也可以使用换行符 [ 
 ]。
''')

打印结果如图:
在这里插入图片描述

在这里插入图片描述
如果这个字符串中真的是想打印 ,而并不是把它当做一个横向制表符该怎么办呢?有两种解决方案,示例如下:

print("横向制表符:\t")

// 输出结果:横向制表符:

print(r"横向制表符:	")

// 输出结果:横向制表符:

第一种是在转义符号前面再加一个转义符号 ,负负得正。
第二种是在这个字符串的外面加一个 r (大小写均可)。

常用方法

获取字符串长度:
获取字符串长度 Python 为我们提供了一个 len() 的方法,示例如下:

print(len('I like Python!'))
// 输出结果:14

print(len('I like 小明!'))
// 输出结果:10

print(len(''))
// 输出结果:0

print(len(' '))
// 输出结果:1

print(len("
"))
// 输出结果:1

中文,字母,数字,符号都是占一个长度。
字符串中的空格也是占长度的。
空字符串的长度为0
字符串拼接
字符串拼接可以使用符号-空格 ,示例如下:

a = "Hello"
b = "Python"

print("a   b 输出结果:", a   " + "   b)
// a   b 输出结果: Hello Python

重复输出字符串
字符串拼接可以使用**符号 *** ,示例如下:

print("a * 2 输出结果:", a * 2)
// a * 2 输出结果: HelloHello

通过索引获取字符串中字符
如果把字符串中的每个字符看做在排队的话,那么索引就是这个字符的位置,第一个字符的索引为 0 ,示例如下:

print("a[1] 输出结果:", a[1])
// a[1] 输出结果: e

截取字符串
在 Java 中,截取字符串给了一个方法是 substring ,而在 Python 中则直接使用 [:] 这个表达式即可,遵循左闭右开原则,示例如下:

print("a[1:4] 输出结果:", a[1:4])
// a[1:4] 输出结果: ell

包含
成员运算符 in 可以判断一个字符串种是否包含指定的字符串,并返回 true 或者 false 布尔值。示例如下:

if "H" in a:
    print("H 在变量 a 中")
else:
    print("H 不在变量 a 中")

// H 在变量 a 中

不包含
既然有了包含那一定就会有不包含,不包含的成员运算符是 not in ,返回同样是布尔值。示例如下:

if "M" not in a:
    print("M 不在变量 a 中")
else:
    print("M 在变量 a 中")

// M 不在变量 a 中

变量

在 Python 中使用变量,有一个和 Java 最大的不同是无需先声明,直接在赋值的时候就完成了声明。
如果我们对这个变量再次进行赋值,新的赋值将会覆盖之前的赋值。
当然,如果我们不再需要这个变量,也可以通过 Python 提供的 del 来删除这个变量。

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

a = 123    # a是整数
print a
a = 'imooc'   # a变为字符串
print a

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。

静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言

变量类型转换

类型强制转换

float() 函数,将其他类型数据转为浮点数

str() 函数,将其他类型数据转为字符串

int() 函数,将其他类型数据转为整型

强制类型降级时,会直接抹去末尾小数,这里并不会做四舍五入哦~~~

如果想使用四舍五入的方式,有一种比较简易的方式,加 0.5 ,如下示例:

print(int(123.7  + 0.5))

// 输出结果:
124

这么写有点不是那么优雅,我们还可以借助函数 round() 来实现。

print(int(round(123.4)))

// 输出结果:
123

print(int(round(123.5)))

// 输出结果:
124

运算符

运算符根据用途可以分为以下这么几类:

算术运算符
比较运算符
赋值运算符
逻辑运算符
成员运算符
身份运算符
在这里插入图片描述

类型转换的规则由低等向高等转换。

bool(布尔) < int(整形) < float(浮点型) < complex(复数)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

print("11. -1 的绝对值为:", abs(-1))

print("12. 创建的复数为:", complex(1, -2))

print("13. 商和余数为:", divmod(10, 3))

print("14. 浮点型转换:", float(1))

print("15. 10的3次幂为:", pow(10, 3))

print("16. 四舍五入为:", round(5.5))

print("17. 集合求和结果为:", sum({1, 2, 3 ,4}))

print("18. 整数20的二进制为:", bin(20))

print("19. 整数20的八进制为:", oct(20))

print("20. 整数20的十六进制为:", hex(20))

print("21. Unicode 为 97 的字符串:", chr(97))

print("22. 字符串 a 的 Unicode 码:", ord('a'))

print("23. 123 的 boolean 值为:", bool(123))

print("24. 空字符串的 boolean 的值为:", bool(''))
11. -1 的绝对值为: 1
12. 创建的复数为: (1-2j)
13. 商和余数为: (3, 1)
14. 浮点型转换: 1.0
15. 103次幂为: 1000
16. 四舍五入为: 6
17. 集合求和结果为: 10
18. 整数20的二进制为: 0b10100
19. 整数20的八进制为: 0o24
20. 整数20的十六进制为: 0x14
21. Unicode 为 97 的字符串: a
22. 字符串 a 的 Unicode 码: 97
23. 123 的 boolean 值为: True
24. 空字符串的 boolean 的值为: False

在这里插入图片描述

原文地址:https://www.cnblogs.com/HBU-xuhaiyang/p/12520637.html