02_python

Posted renjian666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02_python相关的知识,希望对你有一定的参考价值。

数据类型:

一、列表:定义在[]中,可以存放多值,且类型可以不同,相邻数据之间以逗号去隔开。

如:

students = ["name", "age",18, "sex", "sex"]

列表常用的操作:

append(追加)在列表值末尾增加一个值

students.append("sex")
print(students)

del(删除操作)根据索引,去删除列表中特定的值

# 删除
del students[2]
print(students)

# 结果
[name, age, sex, sex, sex]

取值,正向取值和反向取值

#  取值(正向取值 或者 反向取值)
print(students[0])   #取列表中第一个值
print(students[-1]) #取列表中最后一个值

统计(count),统计某个值在列表中出现的次数

# 统计某个值的数量 count
print(students.count("sex"))

pop(取值),默认取列表的最后一个值,取特定值需要传入索引作为参数。取完值之后列表中不存在,但是仍然可以赋值给其他变量。

# 取值pop,默认取列表中最后一个值,取特定值需要传入索引作为参数
pop_value = students.pop(2)
print(pop_value)
print(students)

# 结果
sex
[name, age, sex, sex]

remove(移除),从左到右遍历列表删除特定值的第一个值。不可以赋值给其他变量

# 移除remove 从左到右遍历列表删除特定值的第一个值
students.remove("sex")
print(students)

# 结果
[name, age, sex]

insert(插入),可以将某个值插入到列表的某个位置,第一个参数代表需要插入的位置,第二个参数代表需要插入的值。

# 插入在列表的某一个位置插入一个值 insert
students.insert(2, "sex")
print(students)

# 结果
[name, age, sex, sex]

extend(合并),将两个列表合并成一个列表。

# 合并列表 extend
students = ["name", "age",18, "sex", "sex"]
students1 = ["张三", ""]
students.extend(students1)
print(students)


# 结果,将第二个列表合并到第一个列表中
students = ["name", "age",18, "sex", "sex"]

二、元组,定义在一个圆括号之中,多值之间用逗号隔开,注意:元组与列表不一样,只能在定义的时候进行初始化,后续不能对其修改。因为后续不能对其修改,所以就不存在插入、删除等操作。

定义一个元组

tuple1 = (1, 2, 3, 4, "3.2")

取值(按照索引)

# 取值 按照索引取值
print(tuple1[1])

# 结果
2

# 取值 反向取值
print(tuple1[-1])


# 结果
-1

三、字典,在中定义,以key:value存储,取值速度快。

字典的定义

# 数据类型字典,在内可存在多值,以key:value存储,取值速度快。
dict1 = "student1": ["张三", "", "爱好"], "student2": ["李四", "", "爱好"]

字典取值,取值通过key取值

# 取值通过key去取值,通过key可以实现可存储 可取值
print(dict1["student1"])

# 结果
[张三, , 爱好]

字典:判断key是否存在字典之中,使用in  和 not in

# 字典中的in 和 not in 是判断字典中的key
print("student1" in dict1)
print("student1" not in dict1)


# 结果
True
False

循环,循环也是循环的是字典中的key,需要输出值的话可以dict1[line]

# 字典中的循环也是循环字典中的key
for line in dict1:
    print(line)
    print(dict1[line])


# 结果
student1
[张三, , 爱好]
student2
[李四, , 爱好]

get取值,get方法中需要传入key以此来获取字典中key所对应的value值,如果找不到则返回none,下面的代码仍可以正常运行。

# get方法得到字典中的value,需要key作为参数传入get(key,默认值),若找不到这将返回所设置的默认值。
result = dict1.get("student3")
print(result)

# 结果
none


# 如果不存在可以人为设置默认值
result = dict1.get("student3","")
print(result)


# 结果

四、python中的逻辑运算,if、while、for与其他语言作用一样,唯一的区别就是书写的方式发生改变。

补充:

python代码执行过程
1 打开解释器并且加载到内存中
2 把写好的python代码加载到解释器中
3 检测python语法,执行python代码
Syntaxerror: 语法错误

五、文件处理(打开文件会产生两种资源,一种是python程序,另一个是操作系统资源)

5.1文本文件处理(使用open(),参数一:文件的路径;参数二:对文件的操作,有三种模式,读模式r,写模式w,追加模式at;参数三:指定字符集编码)

# 写入文本
file = open("test.txt", mode="w", encoding="utf-8") file.write("test:学生姓名") file.close() # 结果,在python同目录下生成一个test.txt文件,其内容为test:学生姓名

读取文本

a = open("test.txt", mode="r", encoding="utf-8")
print(a.read())
a.close()


# 结果
test:学生姓名

追加文本

# 先追加在读取
b = open("test.txt", mode="a", encoding="utf-8")
b.write("\n 学生姓名")
b.close()

b = open("test.txt", mode="r", encoding="utf-8")
print(b.read())
b.close()

# 结果
test:学生姓名
 学生姓名

5.2对图像、音频、视频操作与文本操作的区别是,读取是二进制读取,写入也是写入二进制,所以模式有三种,rb、wb、ab。还有就是不需要指定编码方式

5.3 with的用法,with可以同时对多个文件进行操作,用法为with open() as f(句柄): 若是对多个文件操作用法为,

with open() as f1,open() as f2:。并且使用with时不需要再取手动关闭文件对象,with会自动执行关闭对象操作

六、函数嵌套定义(函数内部在定义一个函数)

函数分为无参函数、有参函数。函数的定义与其他语言定义类似,这里不过多的介绍。重点是理解名称空间的意义。

 函数对象

 

函数的名称空间(顶着头定义的变量、函数都称为全局名称空间;在函数内部定义的都成为局部内存空间;内置名称空间)

 

名称空间的加载 内置-->全局-->局部

名称空间的查找  局部-->全局-->内置

 

以上是关于02_python的主要内容,如果未能解决你的问题,请参考以下文章

pythonpython 面向对象编程笔记

Pythonpython-内置常量

Pythonpython对象与json相互转换

草根学PythonPython 的 Magic Method

pythonpython读写文件,都不乱码

翻译:《实用的Python编程》01_02_Hello_world