引子
Python是一种面向对象的编程语言,靠缩进来区分语句;
自动识别数据类型(无需定义数据类型);
字符串中有单引号时,要用双引号括起来:eg:print "let's go"
版本:pyhon 3.4.3 shell /pycharm community 5.0.4
本篇内容将python知识点分为三个部分:
一、python的数据结构
二、python的程序结构
三、Python函数
以下是这三个部分的内容细化:
一、python的数据结构
python基础知识
数据结构:常量、变量、元组(列表)、字典
数据类型:整数--int、浮点数--float、字符--str
算法:分支、循环
输入输出函数
1.输出函数
print (变量名,变量名...)
eg1:
a=1
b=2
print (a,b)
eg2:
a=1;b=2;c=3
print(("d%,f%,%s")%(a,b,c))
2.类型查看函数
eg:
a=1
print(type(a))
3.输入函数
变量名=input("提示信息") #括号内可不加内容
eg1:
a=input('please input a value')
print(a)
eg2:
b=raw_input('please input a value:') # raw_input()是默认输入数据为字符串类型,所以输入数据不加单引号也能以字符串类型数据输出。PS:raw_input在python3.4.3中需要调用才能实现功能。
print(b) #如b=2,输出结果为'2'
元组、列表
s=(1,2.5,"much") #元组tuple,里面的值不可改变(不能删,增加,修改)
eg(如图-元组里的元素不可删除):


s=[1,2.5,"much"] #列表list,list类型的元素可以改变(可删,增加,修改)
eg:
s=[1,2,3,4,5,6,7,8,9]
print(s[1:7:2]) #其中1为下限(开始打印),7为上限(不打印),2为步长(步长为1可不写,eg print(s[1:7]) 结果:[2,3,4,5,6])
执行结果:
[2,4,6]
eg:
pint(s[-2]) #列表从右往左第三个元素即:[7]
※ 操作方法:
1.逆序 s.reverse()
eg(格式):
s=[1,2,3,4,5,6,7,8,9]
print(s)
s.reverse()
print(s)
执行结果:
[1,2,3,4,5,6,7,8,9]
[9,8,7,6,5,4,3,2,1]
2.排序 s.sort() #改变原来列表元素的值,按大小排序
3.排序 s.sorted(s) #不改变原来列表元素的值。
4.插入 s.insert(n,m)
eg:
s.insert(1,20) #在元素1后插入元素20
如图:


5.追加s.append()
eg(如图):


#元素90放在列表最后
6.max(s)、min(s)、len(s)
eg(如图):


7.删除列表元素del s[n]
eg(如图):


字典:应用于成对出现的值(如用户名:xxx 密码:xxx),大括号{}、输出结果无大小排序
eg: s={'a':10,'b':20,'c':15} #其中a,b,c为键key,10、20、15为值value,a:10、b:20、c:15为键值对
eg(如图):


PS:从执行结果可以看出,s字典输出无序,另外pint(s['a'])打印的是键值
1.print(s.keys()) #取出所有的键
eg(如图):


2.print(s.values()) #取出所有的值


3.print(s.items()) #取出所有的键值对


4.s.clear() #清空字典


5.del s['n'] #删除键值


二、python的程序结构
算法:1.if分支 2.循环(while循环/for循环)
1.if分支:1.1 if 分支 1.2 if else 分支 1.3 if elif else 分支
1.1 if 分支 #一种条件,一种结果
语法如下:
if 条件:
语句体
1.2 if else 分支 #一种条件,两种结果
语法如下:
if 条件:
语句体
else:
语句体
1.3 if elif else 分支 #多种条件,多种结果
语法如下:
if 条件:
语句体
elif:
语句体
else:
语句体
2.循环:2.1 while循环 2.2 for循环
2.1 while循环
while循环四要素:循环变量、循环条件、循环体、循环变量发生变化
语法如下:
循环变量
while 条件:
循环体 #注意最重要的是先定义循环体
循环变量发生变化
eg:
i=0
while i<5:
print(i)
i=i+1
2.2 for循环
• 无需定义变量,也无需写循环变量变化
• 执行循环的次数由序列中元素多少决定
for 变量 in 序列:
循环体
eg(如图):


1)range(n) #产生一个0到n-1元素的序列
eg(如图):


2)range(m,n) #产生一个m到n-1元素的序列
eg(如图):


3)range(m,n,i) #产生一个m到n-1元素,且步长为i的序列
eg(如图):


4)continue #停止当前循环,执行下一次循环
eg(如图):


# i=5,停止执行当前语句,继续又从 i+1开始执行(看以上python语句执行结果)
5)break #跳出整个循环,不再执行循环


# i=5时,跳出整个循环,后面元素不再显示。
三、python函数:
定义个一个函数,为实现某种功能 / 若干条语句组成一段代码集合,代码帮我们实现一段程序
1.定义:
def 函数名(参数1,参数2): #----参数可有可无
语句体
return 变量 #----返回值
eg:
def add(a,b):
c=a+b
retrun c
2.调用(调用、传参、接收返回值)
变量=函数名(参数1,参数2) #----变量、参数可有可无
eg:c=add(a,b)
传参:
1)直接传参 c=add(1,2)
2)从键盘中输入数据传参
eg:


PS:用input语句输出数字时,要先定义数据类型(如上例中的int类型),否则默认字符串类型
3)从函数内部接收数据,调用时不用传参
eg:


PS:函数中没有传参和返回值,调用时就无需传参和接收返回值
实例1:设计一个计算器,输入2个数,自动实现这两个数的加减乘除
• 定义多个函数实现加减乘除运算:


• 另一种表达语句(将算法定义在一种方法里):


实例2:根据用户的输入的计算符号计算结果


PS:因为input默认的输入数据是字符串类型,所以执行please input the string:语句输入加+ 、减-、乘*、除/ 运算时,无需加单引号括起来(eg: '+' '-' '*' '/' ),而是直接输入运算符(+ - * /)
另一种方法就是分别定义加减乘除的方法,再在if语句中调用



网友评论