知识内容:

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基础补充内容的更多相关文章

  1. 09: python基础补充

    1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数 ...

  2. 3.python基础补充(集合,collection系列,深浅拷贝)

    一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复 ...

  3. python基础补充

    关于模块导入方式: import  random print random.choice(range(10)) 和 from  random import choice print choice(ra ...

  4. Python基础补充(二) 多核CPU上python多线程并行的一个假象【转】

    在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上: python的多线程实际是串行执行的,并不会同一时间 ...

  5. 第三篇.6、python基础补充

    ''' 不可变:数字,字符串,元组 可变:列表,字典 原子:数字,字符串 容器:列表,元组,字典 直接访问:数字 顺序:字符串,列表,元组 映射访问:字典 ''' #一一对应 a,b,c,d,e='h ...

  6. Python 基础补充(一) 列表、元组、集合、字典的区别和相互转换

    一.列表.元组.集合.字典的区别   列表 元组 集合 字典 英文 list tuple set dict 可否读写 读写 只读 读写 读写 可否重复 是 是 否 是 存储方式 值 值 键(不能重复) ...

  7. python基础学习10

    python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...

  8. python基础学习9

    python基础学习 内容概要 字符编码的简介 字符编码的发展史 字符编码的实际应用 文件操作简介 文件读写模式 文件操作模式 文件操作方法 内容详情 字符编码的简介 # 字符编码主要研究的对象是文本 ...

  9. 万恶之源 - Python基础知识补充

    编码转换 编码回顾: 1. ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符. 没有中⽂, 8个01代码, 8个bit, 1个byte 2. GBK: 中⽂国标码, ...

随机推荐

  1. Java工具创建密钥库,用于Unity 3D打包、签名、发布

    Java工具创建密钥库 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...

  2. 蓝桥杯 ALGO-1:区间k大数查询

      算法训练 区间k大数查询   时间限制:1.0s   内存限制:256.0MB        问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个 ...

  3. Heap Operations 优先队列

    Petya has recently learned data structure named "Binary heap". The heap he is now operatin ...

  4. maven quick start

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-a ...

  5. hdu2087 剪花布条 暴力/KMP

    在字符串中不可重叠地寻找子串数量,暴力/KMP #include<stdio.h> #include<string.h> int main(){ ],b[]; ]!='#'){ ...

  6. JavaWeb学习总结(二)-修改Tomcat服务器的端口(半年之后再总结)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件(hibernate.cfg.xml是核心配置文件). 如果想修改Tom ...

  7. goss docker-compose 集成使用

    原理很简单,就是使用volume 进行数据共享, 并执行服务器状态校验 docker-compose 文件 version: "3" services: goss: image: ...

  8. vue-cli 项目构建性能分析工具

    修改package.json { ... "scripts": { ... //新增 "analyz": "NODE_ENV=production n ...

  9. vue-cli 知识点

    vue init webpack [project_name] 构建的项目,新增功能需要做的工作: table th:first-of-type { width: 100px; } table th: ...

  10. idea新用法

    https://blog.csdn.net/linsongbin1/article/details/80211919