注意Python 是大小写敏感的,即print 与Print 不一样

推荐编辑器 vim & sublime

如何运行

#!/usr/bin/python
#Filename: helloworld.py

Python 至少应当有第一行那样的特殊形式的注释。它被称作组织行—— 源文
件的头两个字符是#! ,后面跟着一个程序。这行告诉你的Linux/Unix 系统当你执行
你的程序的时候,它应该运行哪个解释器

如果你不知道Python 的位置该怎么办呢?于是,可以用在Linux/Unix 上特殊
的env 程序。仅仅改变程序中的第一行:

#!/usr/bin/env python

env 程序会反过来寻找会运行程序的Python 解释器

到此,只要我们知道准确的路径,就已经能够运行程序了。如果想在任何地方都
能运行程序该怎么办呢?你可以将这个程序保存在已经存在的环境变量PATH 所列的
路径中.

不管在什么时候,运行程序的时候,系统会检查在PATH 环境变量中所列的
所有路径,然后运行该程序。我们可以将源文件拷贝到任何所列的环境变量PATH 的
路径中都能运行。

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld  # 添加到PATH
helloworld   #在任意位置运行 helloworld
Hello World #正确输出

help

help(print) (译者注:给方法在Python 2.x 不能用,在Python 3.x 中能用)

按q 来退出帮助

在Python 中数的类型有三种——整数、浮点数和复数。

字符串, 双引号与单引号相同

三引号''' or """,

你可以指示一个多行的字符串。你可以在三引号中自由
的使用单引号和双引号

'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''

\ 转义字符, 也是换行连接符号

字符串是不可变的(跟java一样)

format

类似 C 中变量的输出, 区别是中间是用句号.分隔.

#!/usr/bin/python
# Filename: str_format.py
age = 25
name = 'Swaroop'
print('{0} is {1} years old'.format(name, age))
print('Why is {0} playing with that python?'.format(name))

输出:

$ python str_format.py
Swaroop is 25 years old
Why is Swaroop playing with that python?

观察首次使用0 的地方,这与format 方法的第一个参变量name 相一致。类似地,
第二个格式1 与format 方法的第二个参变量age 相一致

Python 将一切在程序中用到的东西都作为对象

缩进

4个空格替换tab

结合顺序

运算符通常是从左往右结合的,例如,有相同优先级的运算符按照从左向右的顺序计算

局部变量

当你在函数定义内声明变量的时候, 变量名称对于函数来说是局部的。这称为变量的作用域

使用全局语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python 这个变量
名不是局部的,而是全局的。我们使用global 语句完成这一功能。没有global 语句,
是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,
我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚
这个变量是在哪里定义的。使用global 语句可以清楚地表明变量是在外面的块定义
的。

#!/usr/bin/python

#Filename: func_global.py
x = 50
def func():
  global
x  # global 语句被用来声明x 是全局的
  print('x is',x)    # x is 50
  x = 2
  print('Changed global x to',x)    # x = 2
func()
print('Value of x is',x)  # x is 2

非局部变量

在 func_inner() 函数内部的 x, 就是一个非局部的变量(不是全局变量)

默认参数

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默
认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,def
func(a, b=5) 是有效的,但是def func (a=5, b) 是无效的。因为, 如果是后一种的话, 那传过来

一个参数的时候, 到底是应该给第一个呢, 还是应该给后一个呢

关键参数

如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命
名来为这些参数赋值—— 这被称作关键参数—— 我们使用名字(关键字)而不是位
置(我们前面所一直使用的方法)来给函数指定实参

这样做有两个优势—— 一、由于我们不必担心参数的顺序,使用函数变得更加
简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值

varArgs参数

有时,你或许想定义一个能获取任意个数参数的函数,这可通过使用* 号来实
现。

就是用 数组(列表) 和 字典(键值对) 作为参数

python 01的更多相关文章

  1. 实验吧-杂项-WTF?(python 01代码转图片)

    比较新的题型了吧. code为base64码,转码出来是01代码,直接蒙圈,查阅相关wp才知道是转图片的. 复制到编辑器里可以看到一共65536个数字,开方是256,于是这就是一个方形的图片了–> ...

  2. 【Python 01】Python可以做什么

    Python学习未来方向: 1.数据分析 2.自然语言处理 3.社交网络分析 4.人工智能 5.深度学习 6.计算机视觉 7.网络爬虫 8.量化交易

  3. headfirst python 01~02

    列表 列表就像是数组 在python 创建一个列表时, 解释器会在内存中创建一个类似数组的数据结构来存储数据, 数据项自下而上(形成一个堆栈), 类似于其他编程语言中的数组. 列表中常用方法: cas ...

  4. [Python] 01 - Number

    故事背景 一.大纲 如下,chapter4 是个概览,之后才是具体讲解. 二. 编译过程 Ref: http://www.dsf.unica.it/~fiore/LearningPython.pdf

  5. 机器学习-Python 01

    机器学习中最常用最流行的语言工具现阶段应该是Python, 这篇文章主要介绍一些常用的Python语法知识.本篇博文适合那些有其他语言基础的程序员们,如果一点基础都没有,我建议先跳过.博主以前是做移动 ...

  6. [Python] 01 - Number and Matrix

    故事背景 一.大纲 如下,chapter4 是个概览,之后才是具体讲解. 二. 编译过程 Ref: http://www.dsf.unica.it/~fiore/LearningPython.pdf

  7. python 01 print input int

    学过c语言与c语言的数据结构与算法后再来学习python,感觉编程的核心内容没有变,但每个编程语言都有自己的特点.本次学习的目标是理解python的特点与用法,把学过的bif(内置函数)用法记录下来, ...

  8. python 01篇

    一.Pycharm 使用小tips 1.1 pycharm创建项目时,选择Python环境,不使用默认的虚拟环境 1.2 如何在pycharm中查看python版本 路径:File-Settings- ...

  9. Python string objects implementation

    http://www.laurentluce.com/posts/python-string-objects-implementation/ Python string objects impleme ...

随机推荐

  1. 3-PHP全部编码UTF-8

    0-html <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> ...

  2. swift基础:第二部分:函数和闭包

    今天本来想利用上午的时间本来打算将swift基础部分学习完的,不巧的是,后台来和我讨论用户评价的接口,讨论过后,商讨出一种可行的方案,十几分钟时间过去了,我拿到将接口介入到已经完成的页面中,完美,终于 ...

  3. spring 属性注入

    Spring的核心技术室依赖注入,下面是依赖注入之属性注入的实现过程,牛刀小试,请看效果. 1.首先添加Spring.Web引用.本例中是使用分层思想来演示的,下面是项目的结构和UserModel类的 ...

  4. Entity Framework7 有哪些不同?现在开发到什么程度了?

    Entity Framework7之开篇 一.Entity Framework7 简介 Entity Framework7简称EF7,是微软正在开发的最新的在.NET应用中首选的数据访问技术.它是轻量 ...

  5. 快速排序算法 java 实现

    快速排序算法 java 实现 快速排序算法Java实现 白话经典算法系列之六 快速排序 快速搞定 各种排序算法的分析及java实现 算法概念 快速排序是C.R.A.Hoare于1962年提出的一种划分 ...

  6. GPT WIN 换硬盘 硬盘克隆或复制 无法确定的问题,硬盘大小不一致换系统。

    当你购买了一个新硬盘,希望换掉旧硬盘的时候.发现 GPT + EFI 要求硬盘上的前两个分区必须和旧的一样,否则就无法启动. 这就是你用 分区大师(PartAssist)硬盘克隆完了,也无法启动的原因 ...

  7. Android动画之淡入淡出

    为了更好的说明Android动画的淡入淡出效果,这里以一个场景为例: 界面上有两个View 控件,两个View交替显示,当一个View淡入显示,另一个View淡出不可见. 我们把当前要显示的View叫 ...

  8. GitHub上整理的一些工具

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  9. YbSoftwareFactory 代码生成插件【二十二】:CMS基础功能的实现

    很多网友建议在YbRapidSolution for MVC框架的基础上实现CMS功能,以方便进行内容的管理,加快前端页面的开发速度.因此花了一段时间,实现了一套CMS内容发布系统并已集成至YbRap ...

  10. Salesforce 执行顺序

    在服务器上,Salesforce按以下顺序执行: 1,从数据库加载原始记录或初始化一个用于更新插入(upsert)语句的记录. 2,从请求加载新记录的字段值并覆盖旧的值. 如果请求来自一个标准的UI( ...