知识内容:

1.三元运算表达式

2.python代码编写规范

3.模块导入与使用

4.python文件名

5.python脚本的"__name__"属性

6.python之禅

一、三元运算表达式

  1. result = 1 if 条件 else 2

如果条件为真:result = 值1
如果条件为假:result = 值2

  1. result = 1 if 1 == 2 else 0
  2. print(result) # result: 0

二、python代码编写规范

1、缩进

python程序是依靠代码块的缩进来体现代码之间的逻辑的。对于类定义、函数定义、选择结构、循环结构以及异常处理结构来说,行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则表示一个代码块的结束,这些将在后面具体代码中可以体现出来

在python中一个缩进是四个空格,在pycharm中可以直接打一个tab键,编辑器会自动把一个tab键转换成四个空格,但是Linux中的vim就不行,在vim中表示python的缩进时,一定要使用四个空格!当然vim也可以自己去配置使一个tab键等同于四个空格!

示例:

  1. # __author__ = "wyb"
  2. # date: 2018/3/8
  3.  
  4. # 以下代码功能: 找出a, b, c 3者中最大值
  5. a, b, c = 1, 2, 3
  6. if a > b:
  7. if a > c:
  8. print(a)
  9. else:
  10. print(c)
  11.  
  12. else:
  13. if b > c:
  14. print(b)
  15. else:
  16. print(c)
  17. print('OK')

2.注释

python中常见的注释有两种:

(1)以#开头对一行内容进行注释

(2)包含在一对三引号中('''  注释的内容 '''或"""  注释的内容 """)

注: 在pycharm注释的快捷键是ctrl+/,使用方法是先选中所需注释的内容,然后敲上ctrl+/

  1. # 被注释的内容
  2.  
  3. '''
  4. 被注释的内容
  5. 多行
  6. 多行
  7. '''
  8.  
  9. """
  10.  
  11. 被注释的内容
  12. 多行
  13. 多行
  14.  
  15. """

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) 导入自己定义或者开发的本地模块

示例:

  1. # __author__ = "wyb"
  2. # date: 2018/3/9
  3.  
  4. import os # 导入python自带模块os
  5. import sys # 导入python自带模块sys
  6. import requests # 导入python第3方模块requests
  7. # import package # 导入自己写的模块package
  8.  
  9. from bs4 import BeautifulSoup # 从bs4包中导入BeautifulSoup模块
  10. 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

  1. print(__name__)
  2. # 直接运行该程序会输出: __main__
  3. # 将该程序作为模块导入会输出: test_name

2.利用__name__属性

利用__name__属性可以控制python程序,比如在程序作为脚本独立运行时设置一些参数或者启动相应函数

  1. # __author__ = "wyb"
  2. # date: 2018/3/9
  3.  
  4. # 定义函数func:
  5. def func():
  6. print("程序作为脚本独立启动,不是作为模块使用")
  7.  
  8. if __name__ == '__main__':
  9. func() # 运行函数func

六、python之禅

在python交互式环境中输入import this 并回车便可以看到由Tim Peters总结的python之禅

  1. import this
  2.  
  3. # python之禅:
  4. The Zen of Python, by Tim Peters
  5.  
  6. Beautiful is better than ugly.
  7. Explicit is better than implicit.
  8. Simple is better than complex.
  9. Complex is better than complicated.
  10. Flat is better than nested.
  11. Sparse is better than dense.
  12. Readability counts.
  13. Special cases aren't special enough to break the rules.
  14. Although practicality beats purity.
  15. Errors should never pass silently.
  16. Unless explicitly silenced.
  17. In the face of ambiguity, refuse the temptation to guess.
  18. There should be one-- and preferably only one --obvious way to do it.
  19. Although that way may not be obvious at first unless you're Dutch.
  20. Now is better than never.
  21. Although never is often better than *right* now.
  22. If the implementation is hard to explain, it's a bad idea.
  23. If the implementation is easy to explain, it may be a good idea.
  24. 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. hog+svm+检测人(代替默认的参数)

    #include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui. ...

  2. Robot Framework 自定义库

    进入  python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...

  3. 51Nod 1072:威佐夫游戏 (威佐夫博奕)

    1072 威佐夫游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数 ...

  4. Gym 101630(NEERC 17) D.Designing the Toy

    题目大意:给出三视图方向上分别能看到的正方形数a,b,c(1<=a,b,c<=100),在-100<=x,y,z<=100的范围内构造出满足情况的一种正方体的摆放方式 做法很简 ...

  5. 一致性哈希算法(Consistent Hashing Algorithm)

    一致性哈希算法(Consistent Hashing Algorithm) 浅谈一致性Hash原理及应用   在讲一致性Hash之前我们先来讨论一个问题. 问题:现在有亿级用户,每日产生千万级订单,如 ...

  6. hdu1301 Jungle Roads 最小生成树

    The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was s ...

  7. 什么是Base64算法?什么情况下用Base64算法?

    base64 编码的本质:将 8bit 二进制数转化为 6bit 的可打印字符. Base64编码用于需要将二进制数据转为文本数据进行储存和传输的场景. Javascript内部的字符串,都以utf- ...

  8. shell获取目录下所有文件夹的名称并输出

    获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i ...

  9. jmeter --上传文件

    jmeter-场景-上传文件-send-a-file 简要说就3点: POST请求 Request的参数都写在路径内,不写在表单里 上传的文件写在表单里 只要记住以上3点,也就避免了在设计脚本的时候走 ...

  10. JS 响应式布局

    1.media 效果为屏幕宽度变化时,背景颜色也变化 <!DOCTYPE html> <html lang="en"> <head> <m ...