初始python1
一、初识计算机及应用程序
1、什么是计算机?
中央处理器:CPU,用于计算。
内存:用于存放数据(4G,8G,16G),存放临时数据,马上使用的数据
硬盘:存放所用数据。
输入输出设备:键盘鼠标,显示器。
2、什么是操作系统?(用于控制计算机硬件之间的交互)
Linux:是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。
以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用
人数还在迅猛增长。
windows:Windows系列操作系统是微软公司在二十世纪九十年代研制成功的图形化工作界面操作系统,俗称“视窗”。Windows的最早历史是,
1983年宣布研制,1985年和1987年分别推出Windows 1.03版和Windows2.0版,以及随后的3.1等版本,但影响甚微。
直到1995年推出Windows 95轰动业界,随后1998年Windows 98面市;1999年底Windows 2000发布;2003年Windows (Server,下同)2003/XP发售;
2008年Windows vista/2008发行;2009年windows7/2008R2发行;2012年windows 8/2012发行;2013年windows 8.1/2012R2发行;2015年windows 10发布。
3、什么是应用程序?
QQ、Excel、浏览器。。。。
二、编译语言以及解释器:
java--->jvm
Python、PHP------>自己的解释器
三、编译语言的分类:
1、执行效率:C语言,最快----机器码,更接近机器,执行快。
java、C#、Python、PHP,慢 ------字节码,由字节码转换成机器码再执行。
2、类型:编译型-----C、java、C#,将完整的代码保存后执行,执行快。
解释型----Python、PHP,实时翻译,执行慢。
3、易学:Python,简单易学易用,有强大的类库。
其他。。。。
四、Python的版本及种类:
种类:C--cpython、java--jpython、C#--inonpython、rub--rubpython、python--pypy (种类很多,规则只有一个)
版本:Python2.7:过渡版本
Python3.x:不向下兼容,功能更多更新更强大。
=================================================================================================================
学习Python
1、安装Python解释器;Python.exe---->解释器程序
2、写代码,让解释器运行。
命令终端:开始--->cmd--->回车
执行:解释器路径+代码文件路径
配置环境变量:将解释器的路径放到系统环境变量中,例:C:\python35
执行:Python+代码路径
解释器(测试)--->适合用来做简单的功能测试。
3、Python2.7与Python3.x共存,(推荐C:或D:盘)
建议使用哪个版本的Python就将哪个版本的Python路径放到系统 环境变量中,两者不可共放,容易混淆。
区别:print("你好,世界")
py2:中文报错,——默认使用ASCII码。
py3:不报错,——默认使用utf-8编码。
解决报错方法:代码头部写上:# -*- enconding:utf--8 -*- (#conding=utf-8)
4、变量的使用:(变量是程序运行过程中产生的中间值,临时存放数据,供后面程序使用。)
变量 = 值 (变量直接声明)
变量名:字母、数字、下划线
赋值:(=)
值:数字、字符串、字母、下划线
命名规则:a.可以有数字、字母、下划线
b.数字不能开头,不能使用纯数字
c.不能使用Python关键字(def if while......)
d.不要太长;要见名知意
e.驼峰体:单词首字母大写;下划线:单词用下划线分开。(推荐)
f.不使用中文
g.区分大小写
#注释:
单行注释:#
多行注释:(文档注释)' ',“ ”,’‘’ ‘’‘,(单引,双引,三引)
#常量:
python中不存在绝对的常量,是约定俗成的,常量名是所有字母大写。
例:PI = 3.141592653
BIRTH_OF_SYLAR = 1990
5、初始数据类型:
整数型(int):age = 18
字符串类型(str):name = "小明"
字符串可以⽤用单引号,双引号,或者三引号引起来,没有什什么区别,只是⼀一些特殊的格式需要不不⽤用的引号
例:
a = input("请输入第一个数:") #1 b = input("请输入第二个数:") #1 print(a+b) #结果是11 ---->input输入的永远是字符串,11这个结果是字符串相加拼接的结果 a = input("请输入第一个数:") #1 a = int(a) b = input("请输入第二个数:") #1 b = int(b) print(a+b) #结果是2 --->用int()将input输出的字符串转换成int类型,结果是数字相加
#请打印出:周杰伦说:“昆凌很不错,我很欣慰!”
print('周杰伦说:“昆凌很不错,我很欣慰!”')
或者
print('''周杰伦说:“昆凌很不错,我很欣慰!”''')
或者
print("周杰伦说:\“昆凌很不错,我很欣慰!\”")
#print 输出不换行
print("张三",end="")
print("李四",end="") ===》在print之后。python解释器会自动添加换行符
print("王五",end="")
#字符串拼接
s1 = "张三"
s2 = "李四"
s3 = "王五"
s4 = s1 + s2 +s3
print(s4)
print("我们村有个姑娘叫:"+s3+"娶了我们村更漂亮的姑娘:"+s2)
#字符串重复
s = "我爱你"
print(s*3) ==>换行输出 s = "我爱你\n" print(s*3)
布尔型(bool):True/False
注意:print("") #空字符串
print(" ") #空格字符串
type(变量)--->查看变量的类型。----> 例:a=20 print(type(a))
6、运算符:
(1)算术运算符:+ :加 - 两个对象相加 ----> a + b
- :减 - 得到负数或是一个数减去另一个数 ----> a - b
* :乘 - 两个数相乘或是返回一个被重复若干次的字符串 ----> a * b
/ :除 - x 除以 y ----> a/b
%:取模 - 返回除法的余数 ----> a%b 输出结果为1或0
//:取整除 - 返回商的整数部分 ----> 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
**:幂 - 返回x的y次幂 ----> a**b 为10的21次方
(2)比较运算符:==:等于 - 比较对象是否相等 ----> (a == b) 返回 False。
=!:不等于 - 比较两个对象是否不相等 ----> (a != b) 返回 True。
< :小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 ---->(a < b) 返回 True。
<=:小于等于 - 返回x是否小于等于y。 ----> (a <= b) 返回 True。
>:大于 - 返回x是否大于y ----> (a > b) 返回 False。(a < b) 返回 True。
>= :大于等于 - 返回x是否大于等于y。 ---->(a >= b) 返回 False。
(3)赋值运算符:=:简单的赋值运算符 ---->c = a + b 将 a + b 的运算结果赋值为 c
+=:加法赋值运算符 ---->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
(4)逻辑运算符:and: x and y ---->布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
or: x or y ----> 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
not: not x ---->布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False
补充1: and 并且的意思. 左右两端的值必须都是真. 运算结果才是真
or 或者的意思. 左右两端有一个是真的. 结果就是真. 全部是假. 结果才能是假
not 非的意思. 原来是假. 现在是真. 非真即假, 非假既真
补充2: in和not in 可以判断xxx字符串串是否出现在xxxxx字符串串中
content = input("请输入你的评论") if "苍⽼师" in content or '邱老师' in content: print('你输⼊的内容不不合法') else: print("评论成功")
(5)位移运算符:&:按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 ---->(a & b) 输出结果 12 ,二进制解释: 0000 1100
|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 ---->(a | b) 输出结果 61 ,二进制解释: 0011 1101
^:按位异或运算符:当两对应的二进位相异时,结果为1 ---->(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~:按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 ---->(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<:左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 ---->a << 2 输出结果 240 ,二进制解释: 1111 0000
>>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 ---->a >> 2 输出结果 15 ,二进制解释: 0000 1111
(6)成员运算符:in:如果在指定的序列中找到值返回 True,否则返回 False。 ---->x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。 ---->x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True
(7)身份运算符:is :is 是判断两个标识符是不是引用自一个对象 ----> x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
not is :is not 是判断两个标识符是不是引用自不同对象---->x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
例:
#计算机常用的数据 print(2**0) 1 print(2**1) 2 print(2**2) 4 print(2**3) 8 print(2**4) 16 print(2**5) 32 print(2**6) 64 print(2**7) 128 print(2**8) 256 print(2**9) 512 print(2**10) 1024 # and or not同时存在. 先算括号, 然后算not, 然后算and , 最后算or # print(3>4 or 4<3 and 1==1) # False # # print(1 < 2 and 3 < 4 or 1>2 ) # T # print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T # print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F # print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F # # x or y 如果x==0 那么就是y, 否则是x # print(1 or 2) # 1 # print(2 or 3) # 2 # print(0 or 3) # 3 # print(0 or 4) # 4 # print(0 or 1 or 3 or 0 or 5) # print(1 and 2) # 2 # print(2 and 0) # 0 # print(0 and 3) # 0 # print(0 and 4) # 0 #如果是and,都是非零数,取后一个数,若有零,则取零, #如果是or,都是非零数,取前一个数,若有零,取非零数 # print(0 or 4 and 3 or 7 or 9 and 6) #3 # print(2 > 3 and 3) F # false相当于0 # print(2 < 1 and 4 > 6 or 3 and 4 > 5 or 6) #6
7、条件语句:
(1)if 判断条件:
执行语句
(2)if 判断条件:
执行语句
else:
执行语句
(3) if 判断条件:
执行语句
elif 判断条件:
执行语句
elif 判断条件:
执行语句
else:
执行语句
(4) if 判断条件:
if 判断条件:
执行语句
else:
执行语句
elif 判断条件:
执行语句
else:
执行语句
8、while循环:
(1)while 判断条件:
执行语句
(2)while 判断条件:
执行语句
else:
执行语句
执行流程:
1. 判断条件是否为真. 如果真. 执行代码块
2. 再次判断条件是否为真......
3. 当条件为假.执行else 跳出循环. 循环结束
#1-100连续的数 start = 1 flag = True while flag: print (start) start = start + 1 if start == 100: print (start) flag = False
#1-100连续的数
start = 1
while start <=100:
print (start)
start = start + 1
9、contiune、break关键字:
(1)break:结束循环. 停止当前本层循环
#1-100连续的数
a = 1
while True:
print (a)
a = a + 1
if a == 100:
print (a)
break
(2)continue: 结束当前本次循环. 继续执行下一次循环
#输出1 2 3 4 5 6 8 9 10 a = 1 whilie a <=10: if a == 7 : pass else: print(a) a = a + 1
======================================================
a = 1
while a < 11:
if a == 7
a = a + 1
continue
else:
print (a)
a = a + 1
======================================================
a = 0
while a < 10:
a += a
if a == 7
continue
eles:
print (a)
======================================================
a = 1
while 1:
a += 1
if a == 7:
continue
elif a == 11:
break
eles:
pint (a)
10.while...else
count = 1 while count <= 10: print( count) count = count + 1 if count == 5: break # 彻底停止循环. 不会执行后面的else else: # while条件不成立的时候执行 print("这里是else")
index = 1
while index < 11:
if index == 8:
# break
pass
else:
print(index)
index = index+1
else:
print("你好")
注意: 如果循环是通过break退出的. 那么while后⾯面的else将不会被执⾏行行, 只有在while条件判断是假的时候才会执⾏行行这个 else
pass: 不表⽰示任何内容. 为了了代码的完整性. 占位⽽而已
案例练习:
1.求奇数偶数
num = 19 result = num % 2 if result == 0: print('偶数') else: print('奇数')
2.1-100的和
sum = 0 start = 1 while start < 101 sum = sum +start start = start +1 print (sum)
3.打印1-99之间所有的奇数
start = 1 while start < 100 n = start % 2: if n == 1: print (start) start = start + 1 else: start = start + 1 ==================================== start = 1 while start <100 n = start % 2 if n == 1: print (start) start = start +1
4.打印1-99之间能被3整除的数
start = 1 while start <100: n = start % 3 if n == 0: print (start) start = start + 1
5.打印1-99之间所有奇数的和
sum = 0 start = 1 while start <100: n = start % 2 if n ==1: sum = sum +start start = stat + 1 print (sum)
6.打印1-2+3-4+5-6+7......+99之间所有奇数的和
sum = 0 start = 1 while start <100: n = start % 2 if n == 1: sum = sum + start else: sum = sum - start start = start +1 print (sum)