码迷,mamicode.com
首页 > 编程语言 > 详细

Python 入门:基本语法

时间:2018-03-22 11:00:29      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:基本语法   /usr   env   数据类型   else   1.2   list   func   main   

对于多数从其他编程语言转入Python的来说,或多或少会有些不习惯。如果沿用其他编程语言的语法来写Python代码,那么碰壁是不可避免的了。

本文是基于我看了两个小时的官方文档(Python 2.7 : https://docs.python.org/2/tutorial/index.html , 至于我学习Python2.x的原因:工作需要),

从中提取的重要的细节,以避免再次踩坑。

 

先上一个Python文件(Foo.py):

#!python
#-*- coding: utf-8 -*-

‘‘‘
python 的注释:
    多行注释: 用成对的3个单引号或者3个双引号组成 (例如当前位置)
    单行注释:使用#
‘‘‘

# 定义一个foo函数,用于把指定msg打印 count次
"""
    params:
        count: int, 打印的次数
        msg: string,消息内容
        useFor:多次打印时,是否采用for loop。
    raise:
        ValueError : 当count<0时抛出
"""
def foo(count=1, msg=Hello+ + "Foo", useFor=1):
    if count < 0 :
        raise ValueError(count < 0)
    if useFor : # 0,1 可以用作bool判定
        print("print use for, count = " + bytes(count) +" :")
        for i in range(count):    # range(N),会生成一个从0到N的list,恰好可以用作索引
            print(msg+ +bytes(i))
    else:
        print("print use while, count = " + bytes(count)+" :")
        i = 0
        while i < count:
            print(msg+" "+bytes(i))
            i+=1    # python中不支持 i++的写法,支持 i+= 的写法


if __name__ == __main__ : 
    print(main in Foo.py)
    foo(2,useFor=1)
    foo(useFor=0, count=3);
    foo(-1)
    

 

  • 文件头
    • 指定文件解释器
    • 指定文件编码
  • 注释
  • 代码块,缩进
  • 基本数据类型
    • string
    • number
    • boolean
  • 控制语句
    • if, elif, else
    • loop : for, while
  • 程序入口:main 函数

 

1、文件头

作为一个脚本语言,文件头指定一些执行环境等,是很常见的事情。在shell中就很常见的。

那么对于Python脚本,也有同样的内容:

1.1 指定解释器

脚本语言,很常见的配置:

#!/bin/sh           shell脚本
#!/usr/bin/perl     perl脚本
#!/usr/bin/python   python脚本
#!/usr/bin/python3  python3脚本
#!/usr/bin/python2  python2脚本

而有时不太清楚脚本解释器的具体全路径名;或者开发环境与运行环境的安装路径不同。为了保证兼容性,也可以写作:
#!/usr/bin/env python3
这样运行时会自动搜索脚本解释器的绝对路径。

1.2 指定文件编码

py文件的默认编码是ASCII,上面的脚本中很多都是ASCII不支持的,那么需要指定文件编码。格式是:

#-*- coding: encoding -*-

 

2、注释

 python 的注释:

    多行注释: 用成对的3个单引号或者3个双引号组成 (例如当前位置)
    单行注释:使用#

3、代码块,缩进

代码块:从上面的Foo.py文件中,很容易可以看出,代码块是以 冒号 : 开始的。不论是function定义,if,else,还是loop(for, while)

都是用 : 作为代码块的开始。不是用 { } 来包括代码块的。

缩进:Python的程序中,不是用 { } 来包括代码块的,用缩进来维持代码块的。不是不要写 tab,用4个空格为缩进。

 

4、基本数据类型

4.1 String

4.2 Number

4.3 Boolean

类似于JavaScript,Python的boolean也是多变的。

以下几种情况是false:
1.None
2.False
3.任何类型的数字0,包括0,0.0,0L,0j
4.空的序列(sequence)或者映射(mapping)类型对象
5.对于用户自定义类型的对象,如果其类定义了__nonzero__() 或者 __len__()特殊方法并且返回False或者0

对于最后一条规则,有几点需要说明:
1.如果类没有定义这两个方法中的任何一个,则这种类型的对象真值测试时总是为True
2.如果类同时定义了__nonzero__() 和 __len__(),只会参考__nonzero__()的返回值

 

以下几种情况是false:1.None2.False3.任何类型的数字0,包括0,0.0,0L,0j4.空的序列(sequence)或者映射(mapping)类型对象5.对于用户自定义类型的对象,如果其类定义了__nonzero__() 或者 __len__()特殊方法并且返回False或者0
对于最后一条规则,有几点需要说明:1.如果类没有定义这两个方法中的任何一个,则这种类型的对象真值测试时总是为True2.如果类同时定义了__nonzero__() 和 __len__(),只会参考__nonzero__()的返回值

Python 入门:基本语法

标签:基本语法   /usr   env   数据类型   else   1.2   list   func   main   

原文地址:https://www.cnblogs.com/f1194361820/p/8621319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!