- 单行注释
- 多行注释
- 程序执行原理
- python变量
- Python运算符
- 判断语句
- 循环语句
一、单行注释
# 这里写注释内容
二、多行注释
'''
这里可以写多行注释内容
'''
"""
这里也可以写多行注释内容
"""
三、程序执行原理
1.操作系统让cpu吧python解释器的程序复制到内存中
2.python解释器依据语法规则,从上到下让cpu翻译python程序中的代码
3.cpu复责执行完成翻译的代码
提示:which python 可以查看当前py的版本
四、python变量
1.变量的作用
在内存中临时存储数据
2.程序的作用:
处理数据
3、py中的变量类型:
(如下图)
4、查看变量类型:
type(xxx)
5、变量的计算:
1)数字类型的计算:
数字类型的变量可以直接进行计算,如果是bool类型,true代表1,false代表0
字符串类型的
2)字符串计算:
字符串之间可以用+拼接:例1
字符串变量可以和整数使用*重复拼接相同的字符串:例2
数字变量和字符串之间不能进行其他计算:例3
#例1:字符串之间可以用+拼接:
[In] >>> one = 'zhang'
[In] >>> two = 'san'
[In] >>> one + two
[out]'zhangsan'
>>>
#例2 :字符串变量可以和整数使用*重复拼接相同的字符串:
[In]>>> "*"*30
[out]'******************************'
>>>
#例3:数字变量和字符串之间不能进行其他计算:
>>> one = 'zhang'
>>> two = 12
>>> one + two
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
#进行+计算报错,
>>> one * two
'zhangzhangzhangzhangzhangzhangzhangzhangzhangzhangzhangzhang'
#进行*计算重复拼接字符串
>>>
6、变量的输入:
1)含义:输入就是用代码获取用户通过键盘输入的信息
2)python的输入:input()
注意:在py2.x中有input()和raw_input()两种方式,如果用户输入的是数字,input会以int类型获取到用户信息,但是raw_input()则是字符串类型,如果用户输入的是1+2,用input获取到的将是3,他会自动进行运算,但是用raw_input(),获取到的数据则是1+2,因此后者更安全
在py3.x中 只有input,他的作用和2.x中的raw—input一致,返回的是字符类型,即使有1+2这样的也不会计算,而是原样输出
3)可能用到的内置函数:
type(x):检测变量类型
int(x):将x转为整数
type(x):将x转为浮点型
password = raw_input("请输入密码:")
#这是 py2.x中的写法
print '您刚刚输入的密码是:', password
运行结果:
raw_input(“”)的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
raw_input(“”)在从键盘获取了数据以后,会存放到等号右边的变量中
7、变量的输出
print(x)输出x中的信息
8.局部变量、全局变量
局部变量
<1>什么是局部变量
- 局部变量,就是在函数内部定义的变量
- 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
- 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
全局变量
<1>什么是全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
在函数外边定义的变量叫做全局变量
全局变量能够在所以的函数中进行访问
demo如下:
# 定义全局变量
a = 100
def test1():
print(a)
def test2():
print(a)
# 调用函数
test1()
test2()
运行结果:
100
100
<2>修改全局变量
既然全局变量,就是能够在所以的函数中进行使用,如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
<3> 如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧强龙不压地头蛇
五、Python运算符
算术运算符 ####
下面以a=-10 ,b=20为例进行
下面以a=-10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
— | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | x除y b/a = 2 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 幂 | 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 200 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7 |
+= | 加法赋值运算 | c+=a <=>c = c+a |
-= | 减发赋值运算 | c-=a <=>c = c-a |
*= | 成法赋值运算 | c*=a <=>c = c*a |
/= | 除法赋值运算 | c/=a <=>c = c/a |
%= | 取模赋值运算 | c%=a <=>c = c%a |
**= | 幂赋值运算 | c**=a <=>c = c**a |
//= | 取整除赋值运算 | c//=a <=>c = c//a |
比较(即关系)运算符
他的结果只有true和false
运算符 | 描述 | 事例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果值相等,条件变为真。 | 如a=3,b=3则(a == b) 为 true. |
!= | 检查两个操作数的值是否相等,如果值不相等,条件变为真。 | 如a=1,b=3则(a != b) 为 true. |
<> | 检查两个操作数的值是否相等,如果值不相等,条件变为真。 | 如a=1,b=3则(a <> b) 为 true. |
> | 检查左操作数的值是否大于 右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a > b) 为 true. |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=3,b=7则(a < b) 为 true. |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a >= b) 为 true. |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=7则(a <= b) 为 true. |
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 事例 |
---|---|---|---|
and | x and y | 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
六、判断语句
1、概念:
如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断
2.写法
1)if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
age = 30
print "------if判断开始------"
if age>=18:
print "我已经成年了"
print "------if判断结束------"
代码的缩进为一个tab键,或者4个空格
2)if-else:
格式:
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...
例如:
chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print "有车票,可以上火车"
print "终于可以见到Ta了,美滋滋~~~"
else:
print "没有车票,不能上车"
print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上课
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
3)elif
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo:
score = 77
if score>=90 and score<=100:
print '本次考试,等级为A'
elif score>=80 and score<90:
print '本次考试,等级为B'
elif score>=70 and score<80:
print '本次考试,等级为C'
elif score>=60 and score<70:
print '本次考试,等级为D'
elif score>=0 and score<60:
print '本次考试,等级为E'
<2> 注意点
可以和else一起使用
if 性别为男性:
输出男性的特征
...
elif 性别为女性:
输出女性的特征
...
else:
第三种性别的特征
...
说明:
当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
elif必须和if一起使用,否则出错
4)if嵌套
if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
...(省略)...
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
...(省略)...
说明
外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
demo:
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print "有车票,可以进站"
if daoLenght < 10:
print "通过安检"
print "终于可以见到Ta了,美滋滋~~~"
else:
print "没有通过安检"
print "刀子的长度超过规定,等待警察处理..."
else:
print "没有车票,不能进站"
print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"
结果1:chePiao = 1;daoLenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:chePiao = 1;daoLenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chePiao = 0;daoLenght = 9
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
结果4:chePiao = 0;daoLenght = 20
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
七、循环语句
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
(一)、while循环(类似php中的for)
1、while循环的格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
demo
i = 0
while i<5:
print "当前是第%d次执行循环"%(i+1)
print "i=%d"%i
i+=1
结果:
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
2、while嵌套的格式
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
while嵌套应用一
要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
参考代码:
i = 1
while i<=5:
j = 1
while j<=i:
print "* ",
j+=1
print ""
i+=1
(二)、for循环(类似php中的foreach)
for…in循环,依次把str(字符串)、list(列表)或tuple(字典)中的每个元素迭代出来,就是把每个元素代入变量x,然后执行缩进块的语句。
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
结果
demo:
A = ['xiaoWang','xiaoZhang','xiaoHua']
for tempName in A:
print tempName
结果:
xiaoWang
xiaoZhang
xiaoHua
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用
break的作用:用来结束整个循环
continue的作用:用来结束本次循环,紧接着执行下一次的循环