三元运算符,,1.三元运算符1.1
三元运算符,,1.三元运算符1.1
1.三元运算符1.1介绍
三元运算符又称三目运算,是对简单的条件语句的简写
语法:val =1 if 条件成立 else 2
简单条件语句:a = 0if a == 0: val = 0else: val = 1print(val)三目运算:val = 0 if a == 0 else 2print(val)E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py00Process finished with exit code 0
错误案例
a = 0val = 0 if a == 0 else val = 2print(val)E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py File "E:/PythonProject/python-test/BasicGrammer/test.py", line 8 val = 0 if a == 0 else val = 2 ^SyntaxError: can‘t assign to conditional expressionProcess finished with exit code 1
2.文件处理
2.1文件读r
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="读文件.txt", mode="r", encoding="utf-8")data = f.read()f.close()print(type(data))print(data)# file="读文件.txt" 表示文件路径# mode="r" 表示"只读"(可以修改为其他)# encoding="utf-8" 表示将硬盘上的0101010101按照utf-8的规则去"断句",再将"断句"后的每一段01010101转换成unicode的0101010,unicode对照表中有010101和字符的对应关系# f.read()表示读取多有内容,内容是已经转换完成的"字符串"# f.close() 表示关闭文件E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py<class ‘str‘>哈哈Process finished with exit code 0
2.2文件读rb
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="读文件.txt", mode="rb")data = f.read()f.close()print(type(data))print(data)E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py<class ‘bytes‘>b‘\xe5\x93\x88\xe5\x93\x88\r\n‘Process finished with exit code 0# mode="rb" 表示只读(可以修改为其他)# 数据类型是"bytes"# rb 与 r 的区别:# "rb"在打开文件的时候不需要指定encoding,因为直接以rb模式打开文件# rb是二进制模式,数据读到内存中直接就是bytes模式,如果想要看内容,还需要手动decode# 因此文件打开阶段不要指定编码# 手动decode也需要知道源文件的编码,否则,decode后还是乱码的#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaimport chardetresult = chardet.detect(open(file="读文件.txt", mode="rb").read())print(result)E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py{‘encoding‘: ‘utf-8‘, ‘confidence‘: 0.7525, ‘language‘: ‘‘}Process finished with exit code 0# 查看到源文件编码是utf-8,下面就使用utf-8解码#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitadata = open(file="读文件.txt", mode="rb").read()print(data.decode(encoding="utf-8"))E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py哈哈Process finished with exit code 0
2.3read(),readline(),readlines()
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="读文件.txt", mode="r", encoding=‘utf-8‘)print("--------readline-------")print(f.readline())print(f.readline())print(type(f.readline()))# readline读取一行,这一行的数据类型是strprint("--------readline-------")print("--------readlines-------")print(f.readlines())print(type(f.readlines()))# readlines是全部读取出来,数据类型是listprint("--------readlines-------")print("--------read-------")print(f.read())print(type(f.read()))# read是全部读取出来,数据类型是str# 这里为空,是因为上面的代码已经把文件读取完了print("--------read-------")E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py--------readline-------马纤羽 北京 173 50 13744234523乔亦菲 广州 172 52 15823423525<class ‘str‘>--------readline---------------readlines-------[‘刘诺涵 \t北京\t170\t48\t18623423765\n‘, ‘岳妮妮 \t北京\t177\t54\t18835324553\n‘, ‘贺婉萱 \t北京\t174\t52\t18933434452\n‘, ‘叶梓萱\t上海\t171\t49\t18042432324\n‘, ‘杜姗姗 北京 167 49 13324523342\n‘, ‘black girl 河北 167 50 13542342233‘]<class ‘list‘>--------readlines---------------read-------<class ‘str‘>--------read-------Process finished with exit code 0
2.4循环读取文件
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="读文件.txt", mode="r", encoding=‘utf-8‘)for line in f: print(line)E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py马纤羽 北京 173 50 13744234523乔亦菲 广州 172 52 15823423525罗梦竹 北京 175 49 18623423421刘诺涵 北京 170 48 18623423765岳妮妮 北京 177 54 18835324553贺婉萱 北京 174 52 18933434452叶梓萱 上海 171 49 18042432324杜姗姗 北京 167 49 13324523342black girl 河北 167 50 13542342233Process finished with exit code 0# read()方法读取文件,是一下子把整个文件都读取到内存中,一次性读完,但是如果文件很大,会出现内存溢出的情况,所以可以每次读取部分数据# 为什么每行的后面都有一个空行呢?# 因为print()函数就是自动会换行,而且每行的后面已经存在\n了,所以会有个空行# 上面使用readlins()函数时,可以看到每行结尾都是有\n的
2.5写文件w
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="写文件.txt", mode="w", encoding=‘utf-8‘) # "这时文件还没真正写入硬盘中,还在内存中,可以f.write()后调用f.flush()把内容写入到硬盘中,防止数据丢失"f.write(‘写入文件‘) # "这时文件才写入硬盘"f.close()E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.pyProcess finished with exit code 0查看文件内容写入文件# mode = "w" 表示只写,"w"是创建模式,会清空之前的内容,重新写入,比较危险# encoding=‘utf-8‘ 将要写入的unicode字符串编码成utf-8格式# f.write() 表示写入内容,写入的内容是unicode字符串类型,内部会根据encoding转换成特定编码的01010101,即字节类型
2.6wb
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: vitaf = open(file="写文件.txt", mode="wb")f.write(‘写入文件‘.encode("utf-8"))f.close()# "写入文件的时候,需要手动把写入的内容encode(),指定编码"E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.pyProcess finished with exit code 0查看文件内容写入文件
三元运算符
相关内容
- 《Python深度学习》高清中文版pdf+高清英文版pdf+源代码
- 《Python金融实战》中文版PDF+英文版PDF+源代码,,下载:
- 用Python处理Unix信号,,UNIX / Lin
- python计算不规则图形面积算法,,介绍:大三上做一个医
- python学习总结_20191109,,python学习总结
- python面向对象<一>,python面向对象详解,一、
- CentOS7 下升级Python版本,版本升级,来博客园的第一篇博
- Python安装以及虚拟环境的使用,安装虚拟环境,作用虚拟
- Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的
- python---10月,一个月python,p { margin
评论关闭