python用缩进(四个空格,不是teble)来区分代码块

1.

coding=utf-8    字符编码,支持汉字

#!/usr/bin/env python
# coding=utf-8
print "hello world"
print "你好 世界"

2.
字面常量:顾名思义,就是看到是什么就是什么
变量命名:字母或者下划线或者数字组成,不过数字不能作为开头,关键字不能作为变量名(例如for,if等)
3.
数据类型:强类型(不允许非同类数据之间进行运算)
type(变量名)    输出变量类型    例如:
>>> v1 = 1
>>> v2 = 2
>>> v1 + v2
3
>>> v3 = "This is 3"
--整型v1和字符型v3相加报错
>>> v1 + v3

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    v1 + v3
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> type(v3)
<type 'str'>
>>> type(v1)
<type 'int'>
--输出字符串某个字符,数组方式
>>> v3[0]
'T'
>>> v3[1]
'h'

py中单引号和双引号是等价的,例如:
>>> 'ture'=="ture"
True

4.
类型转换:
int|float(需要转换的值或者变量),例如:
>>> v1=1
>>> float(v1)
1.0

这里v1本来是整型1,转换后为1.0

5.对象,py中万物皆对象
6.运算表达式
6-1.数学运算符:+ 
整型相除得到的依然是整型,而不是浮点型
而整型与浮点数相除,得到的就是浮点型,不过依然会损失一部分精度,例如
--除法运算/
>>> 10 / 3
3
>>> 10 / float(3)
3.3333333333333335
--取整运算//
>>> 10 // float(3)
3.0
--取模运算
>>> 10 % 3
1
--乘方运算
>>> 10 ** 3
1000
--加法运算(单独存在是正号)
>>> 10 + 3
13
--减法运算(单独存在是负号)
>>> 10 - 3
7


6-2.位操作运算符
--左移运算符<<,意思就是将值转为二进制,并且向左移动三位,并将移动的三位用0补全,例如:2的二进制是10,左移3位是10000,即16.
>>> 2 << 3
16
--右移运算符>>,和左移解法一样,只不过是移动几位就删除几位.
>>> 16 >> 2
--按位与运算&,将值转为二进制,然后两个二进制同位进行与运算
>>> 3 & 2
2
--或运算|
>>> 3 | 2
3
--异或运算^
>>> 3 ^ 2
1
--取反运算~,将值转为二进制,然后+1,取反,例如:3的二进制是11,那么转化的式子-->-(11+1)=-(100)=-4
>>>~3
-4


--例如:~1-~3=(~1)-(~3)=(-2)-(-4)=2
>>> ~1-~3
2

6-3.比较运算符 < > <= >= == !=
6-4.逻辑运算符 and or not
6-5.赋值运算符 =
6-6.其他运算符
6-7.运算符优先级
单目运算符高于双目运算符,not是例外
算数运算符高于位运算符,~是例外
>>> 1+2<<2
12
>>> 2<<2+1
16

位运算符高于比较运算符
比较运算符高于逻辑运算符
建议用()来强制划分优先级,便于代码易理解

7.分支结构
7-1.if语句
基本格式:if condition:
           expression
if 3<5:
    print "This is 3"

This is 3


7-2. else子句
py中一定要注意语句级别,每个级别的间隔都是4个空格,例如第二个
if 3<5:
    print "ture"
else:
    print "false"

   
ture
>>> if 3<5:
        if 3>2:
            print "ture"
        else:
            print "false"

       
ture


7-3.elif语句
elif语句会在条件判定成功的那一刻停止,不会继续执行之后的elif,例如:这里只输出了一个ture
if 3>5:
    print "false"
elif 3>2:
    print "ture"
elif 3>1:
    print "ture"

   
ture


8.循环体
8-1.while语句
>>> a=3
>>> while a <= 10:
    print a
    a += 1 #a = a + 1

   
3
4
5
6
7
8
9
10


8-2.for语句,和c语言差别比较大
格式如下:
for 变量 in 迭代器
迭代器是什么,就是一个函数,例如range()
range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(0,10,2)
[0, 2, 4, 6, 8]
#一个完整的for循环例子:
for x in range(10):
    print x

   
0
1
2
3
4
5
6
7
8
9


另外,迭代器不要轻易进行修改,否则会出现意想不到的问题,例如:在下面这个例子中,li充当了迭代器的作用,在第一次循环中后,我们赋予了li=[1,2,3],但是之后却发现x依然获取的是0~9[即10次迭代],而并不是1~3[3次迭代].
li = range(10)
for x in li:
    print x
    print li
    li=[1,2,3]

   
0
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1
[1, 2, 3]
2
[1, 2, 3]
3
[1, 2, 3]
4
[1, 2, 3]
5
[1, 2, 3]
6
[1, 2, 3]
7
[1, 2, 3]
8
[1, 2, 3]
9
[1, 2, 3]


8-3.break语句,跳出整个迭代循环,不影响外部迭代循环
for x in li:
    print x
    if x == 5:
        break

   
0
1
2
3
4
5

例子2:
x第一次循环体中[y进行10次循环+换行],但是在第5次循环被中断,故输出0-5,那么x的10次循环就是输出10次0-5
print 后加,可以将换行改为空格,print后什么都不跟,则输出换行
for x in range(10):
    for y in range(10):
        print y,
        if y == 5:
            break
    print

   
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5


8-4.continue子句,跳过当前循环,不影响整个迭代循环的其他循环
例如:当x等于5时,跳出本次x=5的循环,但是不影响之后的迭代循环.
for x in range(10):
    if x == 5:
        continue
    print x
        for y in range(10):
        print y,
    print

   
0
0 1 2 3 4 5 6 7 8 9
1
0 1 2 3 4 5 6 7 8 9
2
0 1 2 3 4 5 6 7 8 9
3
0 1 2 3 4 5 6 7 8 9
4
0 1 2 3 4 5 6 7 8 9
6
0 1 2 3 4 5 6 7 8 9
7
0 1 2 3 4 5 6 7 8 9
8
0 1 2 3 4 5 6 7 8 9
9
0 1 2 3 4 5 6 7 8 9


8-5.循环体中的else子句
for x in range(10):
    if x > 10:
    break
else:
    print "x > 10"

   
x > 10


9.小例子1:
预先设定一个数字,判定用户输入数字与预设数字的区别,并输出对应信息
raw_input()和input()最大的区别在于,前者会将所有输入类型改变为字符串类型,后者则认为自己需要一个合法的表达式,比如说输入字符串,则必须加引号(获取abc,则需要输入"abc")
#!/usr/bin/env python
# coding=utf-8
numA = 100
numB = input("请输入一个数字:")
if numA == numB:
    print "你获得胜利!"
elif numB > numA:
    print "你的数字大于预设数字!"
elif numB < numA:
    print "你的数字小于预设数字!"




python之第一个例子hello world的更多相关文章

  1. MXNet学习~第一个例子~跑MNIST

    反正基本上是给自己看的,直接贴写过注释后的代码,可能有的地方理解不对,你多担待,看到了也提出来(基本上对未来的自己说的),三层跑到了97%,毕竟是第一个例子,主要就是用来理解MXNet怎么使用. #导 ...

  2. python修炼第一天

    Python修炼第一天 新的开始:不会Python的运维,人生是不完整的. 为了我的人生能够完整,所以我来了!今后跟着太白金星师傅学习功夫,记录一下心得,以便日后苦练. 一 Python的历史: Py ...

  3. python 学习第一天

    第一天接触python,首先感谢老男孩的授课老师!!!! 今天的知识点: 1.首先接触到python的第一个模块getpass(这边有点迷茫,不能确定的是这个getpasss是一个库还是一个模块)ge ...

  4. Python 编程第一步

    Python  编程第一步 在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列. # Fibonacci series: 斐波纳契数列 # 两个元素的总 ...

  5. python学习 第一章(说不定会有第零章呢)one day

    ------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ...

  6. MXNet学习-第一个例子:训练MNIST数据集

    一个门外汉写的MXNET跑MNIST的例子,三层全连接层最后验证率是97%左右,毕竟是第一个例子,主要就是用来理解MXNet怎么使用. #导入需要的模块 import numpy as np #num ...

  7. ElasticSearch 5学习(5)——第一个例子(很实用)

    想要知道ElasticSearch是如何使用的,最快的方式就是通过一个简单的例子,第一个例子将会包括基本概念如索引.搜索.和聚合等,需求是关于公司管理员工的一些业务. 员工文档索引 业务首先需要存储员 ...

  8. emberjs学习一(环境和第一个例子)

    code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } code, pre t ...

  9. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

随机推荐

  1. [C入门 - 游戏编程系列] 贪吃蛇篇(四) - 食物实现

    由于食物是贪吃蛇游戏中最简单的一部分,而且和其他部分关联性不强,基本上是一个独立的部分,所以我打算先实现它. 我的想法是食物必须在世界中才能被创造出来,也就是说,先有世界再有食物,所以我得先判断世界是 ...

  2. 将图片以Blob格式存入数据库,再通过Servlet显示到界面

    1:为了方便测试,直接将1.png图片存入到数据库中. public static void storePicBlog() throws FileNotFoundException, SQLExcep ...

  3. 动态修改ActionBar Menu的显示

    应用场景: 在主Activity中,采用InstrumentedActivity侧边栏的方式,侧边栏的每一项对应一个Fragment,要实现不同的Fragment动态显示与隐藏ActionBar Me ...

  4. Android 之Activity切换动画效果

    在Activity中Android提供了overridePendingTransition(int enterAnim,int exitAnim)这个方法用于设置Activity之间切换的动画效果.o ...

  5. Android中读取assets文件夹中的子文件夹内容

    文件结构如下:assets/info/info AssetManager am = this.getResources().getAssets(); InputStream input = null; ...

  6. LeetCode_N-Queens

    The n-queens puzzle is the problem of placing n queens on an n�n chessboard such that no two queens ...

  7. Linux 下的下载文件命令

    普通文件只需 wget  fileAddr 下载带有登录验证的文件 [chen@localhost Downloads]$ wget --user='av\bname' --ask-password ...

  8. BufferedReader的ready与readLine使用,以及Premature EOF异常

    我的个人主页:http://www.foreyou.net 有些人在读取服务器端返回的数据的时候,使用了BufferedReader类的ready: while(reader.ready()) { / ...

  9. 多系统实现单点登录方案:SSO 单点登录

    一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...

  10. 【HDU 4612 Warm up】BCC 树的直径

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4612 题意:一个包含n个节点m条边的无向连通图(无自环,可能有重边).求添加一条边后最少剩余的桥的数 ...