Python
解释器:
计算机只能识别机器语音,解释器就是讲其他语言C语言、Python等语言翻译成机器语言的工具
解释器分为编译和解释
编译型语言:比如C语言,在自己的环境内编写代码,统一交给编译器,编译器统一对源代码进行翻译,生成可执行文件,由操作系统操作运行交个CPU处理(统一执行)
如果编译器在window平台上,那么生成的可执行文件是能在window运行(不能跨平台)
解释型语言:比如Python,在自己的环境内编写代码,写了三行Python代码,解释器逐一读取源代码,读取一行翻译成机器码由CPU执行,依次进行,读取一行,解释一行,执行一行(逐一执行)
如果源代码要在不同的系统执行,那么只需安装不同的系统的解析器(只写一个源代码就可以)
1.Python是完全面向对象的语言
函数、模块、数字、字符串都是对象,在Python一切皆是对象
完全支持继承、重载、多重继承
支持重载运算符、也支持泛型设计
2.Python拥有一个强大的标准库,Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数;而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理额外的功能
3.Python社区提供了大量的第三方模块,使用方式和和标准库类似,他们的功能覆盖科学计算、人工智能、机器学习、Web开发、数据库接口、图形系统多个领域
Python源程序
Python源程序就是一个特殊格式的文本文件,可是使用任意的文本编辑软件做Python的开发,扩展名.py
Python程序执行原理
1.操作系统首先会让CPU把Python解释器的程序复制到内存中
2.Python解释器根据语法规则,从上到下翻译Python程序中的代码
3.CPU复制执行翻译完成的代码
注释:
单行注释:
以#开头:快捷键ctrl+/(官方规定在#后面添加一个"空格"来规范格式,否则注释下面以虚线显示表示代码不规范)
选好注释文字,在"灯泡"中点击Reformat file,自动更新注释规范
在代码后面设置注释时,官方规定代码和注释之间添加两个空格
多行注释:
""" 多行注释 """
算数运算符
+(加) -(减) *(乘) /(除) //(取整除) %(取余数) **(幂)
在Python中,*运算符还可以用于字符串,计算结果就是字符串重复指定次数
例如:“Python” * 3-->Python Python Python
变量
变量就是为了保存数据
变量的"第一次"和"余生"(只有第一次出现的才是定义变量,变量名再出现,不是定义变量而是直接使用之前的变量),只用三个变量
#价格 price=2 #重量 wight=5 #金额 money=price*wight #优惠 money=money-1
变量不需要指定类型,Python解释器会根据赋值语句等号右侧数据自动推导出数据准确类型
Python 数据类型可以分为数字型和非数字型
数字型:整型(int)、浮点型(float)、布尔型(bool)true非0,非零即真,false 0、复数型
非数字型:字符串、列表、元祖、字典
type(变量):显示变量类型
不同类型变量之间计算
1.数字型变量之间可以之间计算
#整型 a=10 #浮点型 b=10.5 #布尔 c=true a、b、c之间可以进行算数运行
true=1、false=0
2.字符串变量之间使用+拼接字符串
first_name="zhang" last_name="san" print(first_name+lastname) zhangsan
3.字符串变量可以和整数使用 * 重复拼接相同的字符串
(first_name+last_name) * 3 'zhangsanzhangsanzhangsan'
4.数字型变量和字符串之间不能进行其他计算
变量的输入
input函数:就是用代码获取键盘输入的信息,输入的任何内容都认为是一个字符串
(函数:就是一个提前准备好的功能(预先写好的代码),可以直接使用)
变量=input(“提示信息:”) password=input(“输入银行密码:”) 输入银行密码:123456
print(password)
123456
类型转换函数
int(x):将字符串x转换为整型
float(y):将字符串y转换为浮点型
type(int(“123”)) int type(float(“12.3”)) float
小案例:
# 输入苹果的价格 price_str=input("苹果的价格:") # 输入苹果的重量 weight_str=input("苹果的重量:") # 转换成数字型 price=float(price_str) weight=float(weight_str) #金额 money=price * weight print(money)
变量的格式化输出
%:格式化操作符,处理字符串中的格式
格式化字符 | 含义 |
%s | 字符串 |
%d | 有符号十进制整数,%06d表示输出的整数显示位数,不足的地方使用0补全 |
%f | 浮点型,%.02f表示小数点后只显示两位 |
%% | 输出% |
name="张三" print("我的名字叫 %s,请多多关照" %name) # 我的名字叫张三,请多多关照 student_no=1 print("我的学号是 %06d" %student_no) # 我的学号是000001 price = 7.5 weight = 8 money = price * weight print ("苹果的价格 %.2f,重量 %.2f,总价 %.2f" %(price,weight,money)) # 苹果的价格 7.50,重量 8.00,总价 60.00 scale = 0.25 print("数据比例 %.2f%%" %(scale * 100)) # 数据比例 25.00%
变量命令
可以有字母,下划线和数字组成
不能以数字开头
不能与关键字重名
规则:
1.=的左右两侧各保留一个空格
2.如果变量由两个及以上单词组成
每个单词都是用小写
单词与单词之间使用_下划线链接:first_name
判断(if)语句
首先判断条件,条件满足,执行缩进的内容,条件不满足,执行缩进的内容;执行后续的内容
if 要判断的条件: 条件成立时,要做的事
else :
条件不成立时,要做的事 注意:代码的缩进为一个tab键或4个空格 --官方建议使用空格 而且在Python中,tab和空格不要混合使用
重点:if(else )语句以及缩进部分是一个完整的代码块
age = 18
if age >=18:
print("你已经是成年人")
else :
print("你还是未成年人")
print("什么时候会执行")
如果满足条件会进入到if语句内,输出所有缩进内容,如果不满足条件,会输出else缩进的内容,最后输出非缩进的内容
如果是有if语句,没有else语句,只有满足条件时,先输出缩进内容;在输出非缩进内容。如果不满足时,只输出非缩进内容。
小案例:
age = int(input("请输入年龄:")) if age >=18: print("你已经是成年人") else : print("你还是未成年人")
input数据的内容是字符串,不同的类型是不能进行大小比较的,所以使用类型转换
逻辑运算
逻辑运算符:and、or、not
is_worker = True if not is_worker : print("非工作人员,禁止入内")
满足条件,会输出缩进的内容
在开发中,通常希望某个条件不满足时,执行一些代码,可是使用not
另外,如果需要拼接复杂的逻辑计算条件,同样也有可能使用到not
判读(elif)语句
有多个判断条件,而且条件不同,执行的代码不同
holiday_name = "情人节" if holiday_name == "情人节" : print("买玫瑰") print("看电影") elif holiday_name == "圣诞节" : print("买苹果") print("吃大餐") else : print("每天都是节日")
if嵌套
有多个判断条件,只有满足第一个判断条件时,才会判断第二个条件
if 条件 : 条件1 满足条件执行的代码 if 条件1满足的基础上条件2 : 条件2满足时执行的代码 else : 条件2不满足时执行的代码 else: 条件1不满足条件执行的代码
小案例:
import random player = int(input("请您出拳 石头(1)/剪刀(2)/布(3):")) computer = random.randint(1,3) print("您的出拳是 %d - 电脑出拳是 %d" % (player,computer)) if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)): print("您赢了") elif player == computer: print("平局") else: print("电脑赢了")
While循环语句
初始 条件设置 --通常是重复执行的,计数器 while 条件(判断 计数器 是否达到 目标次数) : 条件满足时,做的事情1 条件满足时,做的事情2 处理条件(计数器 + 1)
满足条件时,执行缩进内容,条件不满足时,执行后续代码
函数概念及作用
函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用
1,定义函数--封装独立的功能
2,调用函数--享受封装的成果
函数的作用,在开发时使用函数可以提供编写的效率和代码的重用
def 函数名(): 函数封装的代码 ......
函数调用:通过函数名()即可完成函数的调用
#定义好函数后,表示这个函数封装了一段代码而已,如果不主动调用函数,函数是不会主动执行的
name = "小明"
def say_hello () : print("hello python")
print(name)因为没有调用函数,先执行name say_hello()执行函数
print(name)再执行name
函数的文档注释
在定义函数下方,使用连续的三对引号
参数的作用
形参:定义函数时,小括号中的参数,是用来接受参数用的,在函数内部作为变量使用
实参:调用函数,小括号的参数,是用来把数据传递到函数内部用的
函数的返回值
一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续处理
返回值是函数完成工作后,最后给调用者的一个结果
在函数中使用return关键字可以返回结果
在调用函数的一方,可以使用变量来接受函数的返回结果
注意:return表示返回,返回到调用函数的位置,后续代码都不会被执行
def sum_num (num1,num2) : result = num1 + num2 return result
#num=3 不会被执行,因为在return之后,返回到调用函数,不会被执行 sum_result = sum_num(1,2) print("计算结果: %d" %sum_result )
函数的嵌套调用
一个函数里面又调用了另外一个函数
def print_line(char,times) :
#在函数停留会,出现提示"insert documentation string stub" """单行分隔线 :param char:分隔线样式 :param times: 分隔线次数 """ print(char * times) def print_lines(char,times) : """打印多行分隔线 :param char:多行分隔线样式 :param times:多行分隔线次数 """ row = 0 while row < 5 : print_line(char,times) row = row + 1 print_lines("*",10)
模块概念
模块是python程序架构的一个核心概念
模块就好比是工具包,要想使用这个工具包的工具,就需要导入import这个模块
每一个以扩展名py结尾的python源代码都是一个模块
在模块总定义的全局变量/函数都是模块能够提供给外界直接使用的工具