python基础补充内容
知识内容:
1.三元运算表达式
2.python代码编写规范
3.模块导入与使用
4.python文件名
5.python脚本的"__name__"属性
6.python之禅
一、三元运算表达式
- result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
- result = 1 if 1 == 2 else 0
- print(result) # result: 0
二、python代码编写规范
1、缩进
python程序是依靠代码块的缩进来体现代码之间的逻辑的。对于类定义、函数定义、选择结构、循环结构以及异常处理结构来说,行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则表示一个代码块的结束,这些将在后面具体代码中可以体现出来
在python中一个缩进是四个空格,在pycharm中可以直接打一个tab键,编辑器会自动把一个tab键转换成四个空格,但是Linux中的vim就不行,在vim中表示python的缩进时,一定要使用四个空格!当然vim也可以自己去配置使一个tab键等同于四个空格!
示例:
- # __author__ = "wyb"
- # date: 2018/3/8
- # 以下代码功能: 找出a, b, c 3者中最大值
- a, b, c = 1, 2, 3
- if a > b:
- if a > c:
- print(a)
- else:
- print(c)
- else:
- if b > c:
- print(b)
- else:
- print(c)
- print('OK')
2.注释
python中常见的注释有两种:
(1)以#开头对一行内容进行注释
(2)包含在一对三引号中(''' 注释的内容 '''或""" 注释的内容 """)
注: 在pycharm注释的快捷键是ctrl+/,使用方法是先选中所需注释的内容,然后敲上ctrl+/
- # 被注释的内容
- '''
- 被注释的内容
- 多行
- 多行
- '''
- """
- 被注释的内容
- 多行
- 多行
- """
3.使用必要的空格和空行增强代码的可读性
(1)运算符两侧、函数参数之间建议使用空格进行分割
(2)不同功能的代码块之间、不同的函数定义之间以及不同的类定义之间建议使用两个空行
4.异常处理
适当使用异常处理结构增强程序容错性和健壮性,但是不能过多地依赖异常处理结构,程序需要有适当的显性判断逻辑
5.测试
程序需有较强的测试性,测试与开发应该齐头并进,做完一个功能后程序员自己应该进行相应的单元测试
三、模块导入与使用
1.import 模块名 [ as 别名]
使用这种方式导入模块后如要使用模块中的对象可以使用以下方法: 模块名(别名).对象名\
2.from 模块名 import 对象名[ as 别名]
3. 导入一个模块中的所有对象: from 模块名 import *
注: 不推荐使用
4.导入模块的顺序
(1) 导入python标准库中的模块(python环境自带模块),比如说os\sys\re\math
(2) 导入第三方库模块,比如说numpy\scrapy
(3) 导入自己定义或者开发的本地模块
示例:
- # __author__ = "wyb"
- # date: 2018/3/9
- import os # 导入python自带模块os
- import sys # 导入python自带模块sys
- import requests # 导入python第3方模块requests
- # import package # 导入自己写的模块package
- from bs4 import BeautifulSoup # 从bs4包中导入BeautifulSoup模块
- from math import sqrt # 从math模块中导入sqrt函数
四、python文件名
.py:Python源文件,由Python解释器负责解释执行
.pyw:Python源文件,常用于图形界面程序文件
.pyc:Python字节码文件,无法使用文本编辑器直接查看该类型文件内容,可用于隐藏Python源代码和提高运行速度。对于Python模块,第一次被导入时将被编译成字节码的形式,并在以后再次导入时优先使用“.pyc”文件,以提高模块的加载和运行速度。对于非模块文件,直接执行时并不生成“.pyc”文件,但可以使用py_compile模块的compile()函数进行编译以提高加载和运行速度。另外,Python还提供了compileall模块,其中包含compile_dir()、compile_file()和compile_path()等方法,用来支持批量Python源程序文件的编译
.pyo:优化的Python字节码文件,同样无法使用文本编辑器直接查看其内容。可以使用“python –O -m py_compile file.py”或“python –OO -m py_compile file.py”进行优化编译。Python 3.5不再支持.pyo文件
.pyd:一般是由其他语言编写并编译的二进制文件,常用于实现某些软件工具的Python编程接口插件或Python动态链接库
五、python脚本的"__name__"属性
1."__name__"属性的值
每一个python脚本在运行时都有一个"__name__"属性。如果脚本被作为模块被导入,则其"__name__"属性的值被自动设置为模块名;如果脚本独立运行,则其"__name__"属性值就被自动设置为"__main__"
将以下代码保存为test_name.py
- print(__name__)
- # 直接运行该程序会输出: __main__
- # 将该程序作为模块导入会输出: test_name
2.利用__name__属性
利用__name__属性可以控制python程序,比如在程序作为脚本独立运行时设置一些参数或者启动相应函数
- # __author__ = "wyb"
- # date: 2018/3/9
- # 定义函数func:
- def func():
- print("程序作为脚本独立启动,不是作为模块使用")
- if __name__ == '__main__':
- func() # 运行函数func
六、python之禅
在python交互式环境中输入import this 并回车便可以看到由Tim Peters总结的python之禅
- import this
- # python之禅:
- The Zen of Python, by Tim Peters
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one-- and preferably only one --obvious way to do it.
- Although that way may not be obvious at first unless you're Dutch.
- Now is better than never.
- Although never is often better than *right* now.
- If the implementation is hard to explain, it's a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea -- let's do more of those!
python基础补充内容的更多相关文章
- 09: python基础补充
1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数 ...
- 3.python基础补充(集合,collection系列,深浅拷贝)
一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...
- python基础补充
关于模块导入方式: import random print random.choice(range(10)) 和 from random import choice print choice(ra ...
- Python基础补充(二) 多核CPU上python多线程并行的一个假象【转】
在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上: python的多线程实际是串行执行的,并不会同一时间 ...
- 第三篇.6、python基础补充
''' 不可变:数字,字符串,元组 可变:列表,字典 原子:数字,字符串 容器:列表,元组,字典 直接访问:数字 顺序:字符串,列表,元组 映射访问:字典 ''' #一一对应 a,b,c,d,e='h ...
- Python 基础补充(一) 列表、元组、集合、字典的区别和相互转换
一.列表.元组.集合.字典的区别 列表 元组 集合 字典 英文 list tuple set dict 可否读写 读写 只读 读写 读写 可否重复 是 是 否 是 存储方式 值 值 键(不能重复) ...
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...
- python基础学习9
python基础学习 内容概要 字符编码的简介 字符编码的发展史 字符编码的实际应用 文件操作简介 文件读写模式 文件操作模式 文件操作方法 内容详情 字符编码的简介 # 字符编码主要研究的对象是文本 ...
- 万恶之源 - Python基础知识补充
编码转换 编码回顾: 1. ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符. 没有中⽂, 8个01代码, 8个bit, 1个byte 2. GBK: 中⽂国标码, ...
随机推荐
- hog+svm+检测人(代替默认的参数)
#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui. ...
- Robot Framework 自定义库
进入 python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...
- 51Nod 1072:威佐夫游戏 (威佐夫博奕)
1072 威佐夫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数 ...
- Gym 101630(NEERC 17) D.Designing the Toy
题目大意:给出三视图方向上分别能看到的正方形数a,b,c(1<=a,b,c<=100),在-100<=x,y,z<=100的范围内构造出满足情况的一种正方体的摆放方式 做法很简 ...
- 一致性哈希算法(Consistent Hashing Algorithm)
一致性哈希算法(Consistent Hashing Algorithm) 浅谈一致性Hash原理及应用 在讲一致性Hash之前我们先来讨论一个问题. 问题:现在有亿级用户,每日产生千万级订单,如 ...
- hdu1301 Jungle Roads 最小生成树
The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was s ...
- 什么是Base64算法?什么情况下用Base64算法?
base64 编码的本质:将 8bit 二进制数转化为 6bit 的可打印字符. Base64编码用于需要将二进制数据转为文本数据进行储存和传输的场景. Javascript内部的字符串,都以utf- ...
- shell获取目录下所有文件夹的名称并输出
获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i ...
- jmeter --上传文件
jmeter-场景-上传文件-send-a-file 简要说就3点: POST请求 Request的参数都写在路径内,不写在表单里 上传的文件写在表单里 只要记住以上3点,也就避免了在设计脚本的时候走 ...
- JS 响应式布局
1.media 效果为屏幕宽度变化时,背景颜色也变化 <!DOCTYPE html> <html lang="en"> <head> <m ...