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. Chapter2 消息总线 ConfigClient配置自动刷新
  2. 《经济学人》也谈 Python:它会是我们的未来吗?
  3. Linux系统安装VM-Tools
  4. Java客户端操作zookeeper:获取及修改节点中的数据内容代码示例
  5. Powershell 查看软件是否成功安装
  6. 11.10金山面试内容
  7. 在gcp终端中使用ssh连接到本地机器
  8. java 循环字符_在Java中从循环结果创建字符串
  9. 卡巴斯基离线升级方法图解
  10. 华为路由器hilink怎么用_荣耀路由Pro上手体验:华为HiLink要怎么玩儿
  11. 转载 --关于增量编译
  12. 文档数据库mongodb与列式数据库hbase详细比较
  13. CSP 202009-4 星际旅行
  14. 【jvm】8-垃圾回收
  15. 【食品加工技术】第四章 饮料生产技术 笔记
  16. C#编写第一个Windows桌面应用
  17. 历史库存sap_SAP 常用的库存表
  18. 信捷服务器Z相信号,信捷plc标记与中断处理小知识
  19. 用 PHP 来刷leetCode 之 四数之和
  20. Html5中文显示乱码

热门文章

  1. sap后台配置原因代码_SAP总账、应收应付后台配置(附清单)
  2. 小龟机器人Python开发手册——舵机控制
  3. 高新技术企业研发费用核算管理
  4. 国际化 i18n,前端切换中英文模式
  5. 你想了解的教师资格证那些事都在这里...
  6. matlab教师考试安排,2019人社部考试安排发布_2019教师资格考试时间确定!
  7. 怎样让c语言程序在手机上,各位前辈这两个程序怎么在手机上运行
  8. DB2报错:在对连接的底层socket执行操作期间发生通信错误
  9. 【图像识别】基于传统图像处理实现路面裂缝检测识别系统matlab设计
  10. 【报告分享】2020中国跨境电商市场发展报告-CBEC(附下载)