title: Python每日一谈|No.3 :hello world;注释;数据类型
categories: Python每日一谈

开始第一个编程

当然是 输出 Hellow World

print('Hellow World!')

有两种选项

  1. 使用ipython或者jupyter notebook等,在其中直接输入此命令然后运行
  2. 保存此命令为hellow.py文件,在命令行中输入python hellow.py

Welcom to Python!

现在你已经完成了你的第一个程序,成功的输出了Hellow World!在屏幕上

接下来,我们会进行进一步的学习

Python中的注释

python可以进行单行注释,用#开头

也可以进行多行注释,使用三个单引号'''或者三个双引号"""将内容涵盖在内

如下:


In [84]: # 这是一个注释...: print("Hello, World!")...: '''...: 这是多行注释,用三个单引号...: 这是多行注释,用三个单引号...: 这是多行注释,用三个单引号...: '''...: print("Hello, World!")...: """...: 这是多行注释,用三个双引号...: 这是多行注释,用三个双引号...: 这是多行注释,用三个双引号...: """...: print("Hello, World!")Hello, World!
Hello, World!
Hello, World!

我们为什么需要注释,以及该如何注释

注释是编程能力的重要一部分,良好的注释能力意味着你有了良好的团队合作能力

想象一下,当你面对自己三年前编写的万行无注释代码时,会是什么样的感觉

但是注释也应该有一个标准,以便交流,这里推荐谷歌风格规范,不仅仅是注释,更是对其余方面也进行了阐释

Google 开源项目风格指南 (中文版)在线文档托管在 ReadTheDocs : 在线阅读最新版本 [https://google-styleguide.readthedocs.io/zh_CN/latest/]
中文风格指南 GitHub 托管地址:zh-google-styleguide [https://github.com/zh-google-styleguide/zh-google-styleguide]
离线文档下载地址:release [https://github.com/zh-google-styleguide/zh-google-styleguide/releases]”

一个例子:

关于函数的几个方面应该在特定的小节中进行描述记录, 这几个方面如下文所述. 每节应该以一个标题行开始. 标题行以冒号结尾. 除标题行外, 节的其他内容应被缩进2个空格.Args:
列出每个参数的名字, 并在名字后使用一个冒号和一个空格, 分隔对该参数的描述.如果描述太长超过了单行80字符,使用2或者4个空格的悬挂缩进(与文件其他部分保持一致). 描述应该包括所需的类型和含义. 如果一个函数接受*foo(可变长度参数列表)或者**bar (任意关键字参数), 应该详细列出*foo和**bar.Returns: (或者 Yields: 用于生成器)
描述返回值的类型和语义. 如果函数返回None, 这一部分可以省略.Raises:
列出与接口有关的所有异常.”def fetch_smalltable_rows(table_handle: smalltable.Table,keys: Sequence[Union[bytes, str]],require_all_keys: bool = False,
) -> Mapping[bytes, Tuple[str]]:"""Fetches rows from a Smalltable.Retrieves rows pertaining to the given keys from the Table instancerepresented by table_handle.  String keys will be UTF-8 encoded.Args:table_handle: An open smalltable.Table instance.keys: A sequence of strings representing the key of each tablerow to fetch.  String keys will be UTF-8 encoded.require_all_keys: Optional; If require_all_keys is True onlyrows with values set for all keys will be returned.Returns:A dict mapping keys to the corresponding table row datafetched. Each row is represented as a tuple of strings. Forexample:{b'Serak': ('Rigel VII', 'Preparer'),b'Zim': ('Irk', 'Invader'),b'Lrrr': ('Omicron Persei 8', 'Emperor')}Returned keys are always bytes.  If a key from the keys argument ismissing from the dictionary, then that row was not found in thetable (and require_all_keys must have been False).Raises:IOError: An error occurred accessing the smalltable."""

Python中的数据类型

数据类型和基本的数据结构是根本,这意味着你使用怎样的方式来存储数据

在进行实际使用时,我们使用等号(=)来进行赋值

In [7]: a = 100          # 整型变量...: b = 1000.0       # 浮点型变量...: c = "runoob"     # 字符串In [8]: type(a)
Out[8]: intIn [9]: type(b)
Out[9]: floatIn [10]: type(c)
Out[10]: str
#当然,我们也可以更改变量类型
In [14]: d = str(a)In [15]: type(d)
Out[15]: str

数据类型和基本的数据结构是根本,这意味着你使用怎样的方式来存储数据

  • 数值类型

    • 整数型(Int):没有小数,无大小,你的电脑内存有多大,整数就可以创造多大
    • 浮点型(float):存在小数点,可以使用普通写法1.23,3.5,-9.1等,也可以使用科学计数法2.5e2,2.5**10
    • 复数型( (complex)):我使用的比较少, 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点–摘自,菜鸟教程
  • 字符串:字符串是最常见的数字类型,hellow world!便是

    • 我们可以直接进行赋值:例如a = 'u can u up' 或者 a = "no can no bb",当然你也可以使用a = "i say 'somthing'",来进行表示,唯一需要注意的一点是中英文的切换。

    • 转义字符,python中的转衣字符有\n表示换行,\t表示制表符,我们最常见的用法是

      • In [61]: print('Hellow\tWorld!\nNi\tHao.')
        Hellow  World!
        Ni  Hao.
        
      • 在进行使用时,如果你不想转义,则可以在,前面加r,如下

      • In [62]: print(r'Hellow\tWorld!\nNi\tHao.')
        Hellow\tWorld!\nNi\tHao.
        
      • 说到这个,不得不提起PDB格式(蛋白质数据专用格式),PDB格式ATOM共80列,每一列都需要填充,也就是,你在分割时需要按照index进行分割,而不是\t

  • 布尔值:一个布尔值只有TrueFalse两种值,布尔值可以用andornot运算,常常用作比较,以及判断

    • In [68]: print(8 > 7)...: print(8 < 7)
      True
      False
      In [75]: a
      Out[75]: 7In [76]: a <10 and a >5
      Out[76]: True
      
  • 空值:None不能理解为0,"",[]FalseNone是一个特殊的空值。

    • In [65]: a = None...: type(a)
      Out[65]: NoneType
      In [66]: print(a)
      None
      
    • 从类型层面上,False是布尔类型,而Noneclass 'NoneType';从意义层面上,None表示不存在,而False表示真假。

关于数据类型与内存空间

在python中,如果改变变量的数值类型,那么其内存空间将会重新分配,但重新引用并不会造成内存空间的重分配

我们来看一个例子

# a赋值为100
In [26]: a  = 100#查看内存地址
In [27]: id(a)
Out[27]: 4452845280#查看数据类型
In [28]: type(a)
Out[28]: intIn [29]: b = aIn [30]: id(b)
Out[30]: 4452845280In [31]: c = float(a)In [32]: type(c)
Out[32]: floatIn [33]: id(c)
Out[33]: 4485900944In [52]: d = str(a)In [54]: type(d)
Out[54]: strIn [53]: id(d)
Out[53]: 4485942256

Python每日一谈|No.3相关推荐

  1. Python每日一练0023

    问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...

  2. Python每日一练0004

    问题 如何保存迭代对象的最后N个元素 例如保存列表['a', 'b', 'c', 'd']的最后2个元素 或者保存某个迭代器对象的最后5个元素 解决方案 对于列表.元组这样的数据结构,可以使用切片来很 ...

  3. Python实例浅谈之三Python与C/C++相互调用

    参考:http://blog.csdn.net/taiyang1987912/article/details/44779719 Python实例浅谈之三Python与C/C++相互调用 二.Pytho ...

  4. python 编程一日一练-python每日一练

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 过滤掉列表中的负数 筛选出字典{lilei: 79,jim: 88,lu ...

  5. python 编程一日一练-Python每日一练0022

    问题 你想在一个文件里每次读入固定大小的字节,比如每次读入4个字节并转成int,或者每次读入x个字节并进行结构化,例如: l = [5, 2, 4, 1, 2, 4, 5, 6, 8] with op ...

  6. python 编程一日一练-Python每日一练0013

    问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在. 解决方案 使用collections库的ChainMap类,可以快速的将多个d ...

  7. Python每日一练0018

    问题 你需要对浮点数执行精确的计算操作,并且不希望有任何小误差的出现. Python的float类型是存在误差的 >>> a = 1.1 >>> b = 2.2 & ...

  8. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  9. python每日一学_Python每日一练0011

    问题 你有一段通过下标访问列表或者元组中元素的代码,但是这样有时候会使得你的代码难以阅读, 于是你想通过名称来访问元素. 解决方案 使用collections.namedtuple 函数,例如我们经常 ...

最新文章

  1. Using --强制资源清理
  2. SpringBoot2.0新特性 - Quartz自动化配置集成
  3. 通过composer安装阿里大于接口扩展
  4. 每扇区2048字节的U盘乱码的数据恢复
  5. 通信工程制图期末考试大纲
  6. linux推箱子脚本,【编程例题】标准C语言实现推箱子游戏!附解析!
  7. 发送get请求php,如何利用PHP发送GET请求
  8. mysql 安装1364_安装完MySQL,在配置最后一步报错error Nr.1364
  9. js 导出 excel
  10. 网络通信实验(DM9000,LWIP TCP/IP)
  11. 明解C语言 入门 课后习题练习答案 第四章(1)
  12. cdr文字内容显示不出来_cdr中字体预览不显示 字体安装后cdr不显示
  13. C语言生成0-9的6位数密码递归方法实现
  14. HTML+CSS好看的小黄人网页制作(首页部分)
  15. Python Revisited Day 03 (组合数据类型)
  16. ArcGIS教程:填挖方的工作原理
  17. 我们如何研发了世界上最酷的调车内燃机车自动驾驶系统
  18. 湖泊水库水雨情监测预警系统解决方案
  19. 集成学习精讲02 - Bagging方法:多个基模型的聚合(SAP大神黄佳新作《零基础学机器学习》节选)
  20. python中列表的删除操作

热门文章

  1. 一台电脑接两个显示器,双屏显示介绍-zz
  2. Android报错:Using WebView from more than one process at once with the same data directory is not...
  3. 各种科学计算软件科普
  4. [PTA]7-1 厘米换算英尺英寸
  5. 问加几个括号变合法序列
  6. 一键重装Win10图文版教程
  7. Ubuntu下装个音乐播放器
  8. Ubuntu Linux 中两款不错的音乐播放器
  9. 流利阅读Day13 Turn down the Volumn
  10. python列表追加的三种方式对比