python之第一个例子hello world

时间:2023-03-09 05:59:47
python之第一个例子hello world
python用缩进(四个空格,不是teble)来区分代码块

1.

python之第一个例子hello worldcoding=utf-8    字符编码,支持汉字

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

2.
字面常量:顾名思义,就是看到是什么就是什么
变量命名:字母或者下划线或者数字组成,不过数字不能作为开头,关键字不能作为变量名(例如for,if等)
3.
数据类型:强类型(不允许非同类数据之间进行运算)
python之第一个例子hello worldtype(变量名)    输出变量类型    例如:
>>> 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'

python之第一个例子hello worldpy中单引号和双引号是等价的,例如:
>>> '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

位运算符高于比较运算符
比较运算符高于逻辑运算符
python之第一个例子hello world建议用()来强制划分优先级,便于代码易理解

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

This is 3


7-2. else子句
python之第一个例子hello worldpy中一定要注意语句级别,每个级别的间隔都是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语句
python之第一个例子hello worldelif语句会在条件判定成功的那一刻停止,不会继续执行之后的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
python之第一个例子hello worldprint 后加,可以将换行改为空格,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 "你的数字小于预设数字!"