python基本概念

1、Python语言:荷兰人 Guido van Rossum (吉多范罗苏姆) 荷兰人 1989年发明,1991年正式发布
官网:https://www.python/org

2、Python语言的特点:上手简单的偏向解释型的高级语言
(1)编译型语言:C语言
(2)解释型语言:Ruby语言
计算机是不能理解高级语言的,只能理解机器语言,所有使用高级语言,都最终会被转换未机器语言,被计算机执行
(1)编译型语言:把程序中每一条语句都编译为机器语言,并保存为二进制文件,这样计算机执行时直接以机器语言进行执行,显然这样执行的速度较快
(2)解释型语言:在程序执行时,通过解释器对源代码进行逐行的解释
从转换为机器语言的过程来看,编译型语言可以编译后不立即执行,而解释型语言需要立即执行出结果
高级语言发展至今,编译型语言和解释型语言之间的差距越来越不明显,以java为例,同时具有编译行为和解释行为的,只是偏向于编译型
Python也同时具有编译行为(会编译为.pyc文件)和解释行为,只是偏向于解释型

3、python语言版本:2008年左右,Python分为两个大版本Python2和Python3,但是Python3是趋势,我们讲解的也是Python3

4、Python3的环境搭建
(1)下载Python3,选择Python3的安装版本
64位windows操作系统:
window x86-64 embeddable zip file:嵌入式版本,可以集成到其他的应用中
window x86-64 executable installer:可执行文件(.exe)方式
window x86-64 web-based installer:通过联网方式

32位windows操作系统:
window x86 embeddable zip file:嵌入式版本,可以集成到其他的应用中
window x86 executable installer:可执行文件(.exe)方式
window x86 web-based installer:通过联网方式

操作系统的32位/64位取决于内存的大小
(2)安装Python3 (安装文件可以了解产品)
Documentation:文档
pip:包安装工具
tcl/tk and IDLE:集成Gui和开发环境
Creates shortcuts:快捷方式
Python test suite:测试集
core interpreter:核心解释器
安装完成后,在命令行窗口中输入:python -V,能够显示当前Python版本说明安装成功


问题:在命令行窗口中输入:python -V为什么可以显示Python的版本信息?
(在命令行窗口中输入Python指令,为什么会有执行结果?)
答:引入环境变量的知识点
环境变量的环境指的是操作系统(windows)这个环境
环境变量包括当前用户的环境变量、针对所有用户的环境变量(系统变量)
环境变量的结构是由两部分组成:变量、值
关注变量为PATH(路径)的环境变量(注意多个环境变量值之间使用的是英文分号;隔开)
%System Root%
%System Root%\system 32;
%System Root%\system 32\wbem;
%SYSTEM ROOT%\system 32\Windows Power Shell\v1.0\ (这里的System Root指的是windows系统安装后默认在C:\windows的这个目录)

PATH环境变量的用处:告知操作系统,去PATH环境变量值所设置的目录中查找有没有相对应的内部命令、外部命令,可执行文件或批处理文件
伴随着Python的安装,在安装步骤的第一个页面中勾选了ADD TO PATH,会在PATH环境变量中添加 D:\Python3\Scripts\;D:\Python3\;的内容

5、文件编码
(1)ASCII码:只能表示英文、数字
(2)GBK码:对ASCII码的补充,主要包含东亚文字(中日韩文字)
(3)Unicode码:万国码,兼容世界上大部分语言,但是用32位存储,对空间的浪费大
(4)UTF-8码:可变长的Unicode码,英文数字使用8位存储,欧洲其他语言使用16位存储,其他语言使用32位存储。(推荐使用)

6、Python开发工具的选择
(1)IDLE:Python安装时默认自带的开发工具,可以应急时使用
(2)Pycharm:推荐使用,功能强大

7、Pycharm的设置:
(1)Edit中找到File and Code Templates 去掉 Python Script中的作者说明
(2)Edit中找到File Encodings,设置为UTF-8
(3)Default Project中找到Project Interpreter,设置工程集的解释器为装的python3的核心解释器
(4)Edit中找到General,再找到Appearance,勾选show line numbers,显示行号。
(5)Edit中找到General,再找到Code Completion设置case sensitive completion为none(不区分大小写全部提示)
(6)Edit中找到Colors & Fonts,另存一份配置,对颜色、字体等进行设置,推荐使用等宽字体进行编程(比如:Consolas)

8、Python的代码注释
(1)代码的注释不会被解释执行
(2)Python的代码注释形式有两种
单行注释:以英文#作为注释的开头,后面接注释的内容
多行注释:也叫段注释,以一对三个连续英文的单引号’’'包裹起来形成注释内容

############################
使用print()函数输出一个字符串
print(“Python很简单”)
############################

9.编码规范
(1)代码编码后进行格式化,保证代码的整洁(默认快捷键:ctrl+alt+l)
(2)代码中的命名追求“见名知意”的原则
(3)自定义的模块名或包名,使用全小写字母,尽量简洁(如果涉及到多个单词的,多个单词之间使用下划线_进行连接,比如:spec_tech)
(4)自定义的函数,使用全小写的字母,尽量简洁,如果涉及到多个单词的,
(5)自定义的类名,使用首字母大写,才用Pascal命名方式,如果涉及到多个单词的,每个单词首字母都大写 【如:ClassName()】
(6)常量名,使用全字母大写,如果涉及到多个单词的,多个单词之间使用下划线_进行连接 【比如:MAX_VALUE】

10.标识符
1、第一个字符必须是大写或小写的英文字符或者英文下划线_
2、其他字符可以是大写或小写的英文字符或者英文下划线_或者数字

11.关键字:通过引入keyword模块,获取到Python3中的各种关键字信息(共35个)
‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’,
‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’,
‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’,
‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’,
‘while’, ‘with’, ‘yield’
###########################
eg: import keyword
print(keyword.kwlist) //输出所有关键字35个 (kw-关键字)
###########################

12.变量:
(1)体会“封装变化”的思想,在程序中会发生变化的量称为变量
(2)Python的变量不需要进行类型的声明,但是变量在使用前必须进行赋值,变量赋值后,该变量才会被创建
############################################################
eg:下句执行出错:NameError: name ‘name’ is not defined
print(‘使用一个变量:’,name)
eg:name = ‘temptation’
print(‘使用一个变量:’, name) # 使用一个变量: temptation
############################################################
(3)Python中使用英文等号对变量进行赋值,英文等号左侧是变量名,右侧是存储变量的值

13.交互操作
(1)Python中,变量赋值的输入和结果的输出都有相应的函数可以使用
(2)输入字符串,数字或者其他内容可以通过使用input()函数
(3)输出结果可以通过使用print()函数

######################################################################
使用input()函数接收交互输入的内容,该函数接收一个标准输入数据
返回一个字符串类型的结果,input()函数可以不传入参数,但是一般会传入提示信息
eg:name = input('请输入您的名字:')
   print('输入的名字为:', name)              (builtins内置函数)
######################################################################

14.print()函数语法格式
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
参数说明:
*objects:可变参数,表示可以一次输入多个参数对象,输入多个参数对象时,使用英文逗号,进行分隔
#################################################
eg:print(‘www"taobao"com’) # www"taobao"com
print(‘www’,‘aobao’,‘com’) # www taobao com
一次输出多个结果,默认使用英文空格分隔开
#################################################
sep=’ ‘:separation的简写,表示使用什么符号来间隔多个参数对象,默认是一个英文空格
############################################################
eg:print(‘www’, ‘taobao’, ‘com’, sep=’.’) # www.taobao.com
############################################################
end:用来设定以什么结尾,默认是以换行符\n来结尾
#####################################
eg:i = 1
j = 2
print(i) # 1
print(j) # 2

	eg:指定以空字符串结尾
       print(i, end='')
       print(j)  # 12

	注意:对比上下语句的执行效果的差别
	eg:print(i, j)  # 1 2

	eg:print(i, end='----->')
	   print(j)  # 1----->2

15.英文等号在Python中是赋值号,可以把任意数据类型的内容赋值给变量
同一变量可以被反复赋值,可以是不同类型的内容进行赋值
通过内置函数type()查看变量的数据类型
通过内置函数id()查看变量在内存中的地址
################################################################################
eg:i = 123
print(‘变量i的类型为:’, type(i)) # 变量i的类型为: <class ‘int’>
print(‘变量i的地址为:’, id(i)) # 变量i的地址为: 8791418794640

   i = "123"
   print('变量i的类型为:', type(i))  # 变量i的类型为: <class 'str'>
   print('变量i的地址为:', id(i))  # 变量i的地址为: 35021800

   j = 123
   print('变量j的类型为:', type(j))  # 变量j的类型为: <class 'int'>
   print('变量j的地址为:', id(j))  # 变量j的地址为: 8791418794640
注意:上述的变量i和变量j的内存地址一致,赋值时先在内存中查找是否有分配过相应内容的地址

   j = "123"
   print('变量j的类型为:', type(j))  # 变量j的类型为: <class 'int'>
   print('变量j的地址为:', id(j))  # 变量j的地址为: 35021800
#################################################################################

通过del关键字删除不再使用的变量
###################################################
eg:del i
下句执行出错:NameError: name ‘i’ is not defined
print(‘变量i的地址为:’, id(i))
###################################################

16.链式赋值
##################################
eg:x = y = z = 123
print(‘x为:’, x) # x为: 123
print(‘y为:’, y) # y为: 123
print(‘z为:’, z) # z为: 123
##################################

17.系列赋值(元组赋值):赋值号右侧的一系列的值对应赋值给赋值号左侧的一系列的变量
#################################################################
eg:a, b = 1, 2
print(‘a为:’, a) # a为: 1
print(‘b为:’, b) # b为: 2

下句执行出错:TypeError: cannot unpack non-iterable int object
c, d = 3
print(‘c为:’, c)
print(‘d为:’, d)

下句执行出错:ValueError: too many values to unpack (expected 2)
c, d = 3, 4, 5
print(‘c为:’, c)
print(‘d为:’, d)
###################################################################


需求:考虑使用多种方式,实现两个变量的交换
比如:i的值为1,j的值为2,最终要得到i的值为2,j的值为1

写法1、使用中间变量

i, j = 1, 2
print(‘i为:’, i, ‘,j为:’, j) # i为: 1 ,j为: 2
k = j
j = i
i = k
print(‘i为:’, i, ‘,j为:’, j) # i为: 2 ,j为: 1

写法2、使用加法减法转换,从结果中分别移除参与计算的变量

i, j = 1, 2
print(‘i为:’, i, ‘,j为:’, j) # i为: 1 ,j为: 2
j = i + j
i = j - i
j = j - i
print(‘i为:’, i, ‘,j为:’, j) # i为: 2 ,j为: 1

写法3、通过转换变量名称(偷梁换柱)

i, j = 1, 2
print(‘i为:’, i, ‘,j为:’, j) # i为: 1 ,j为: 2
print(‘i为:’, j, ‘,j为:’, i) # i为: 2 ,j为: 1

写法4、通过系列赋值的解包操作

i, j = 1, 2
print(‘i为:’, i, ‘,j为:’, j) # i为: 1 ,j为: 2
i, j = j, i
print(‘i为:’, i, ‘,j为:’, j) # i为: 2 ,j为: 1


18.在交互操作中,接收系列赋值的多个变量
使用内置函数eval()把输入的内容转换为数值
num1, num2, num3 = eval(input(‘输入三个数字,使用英文逗号,做输入的分隔:’))
###############################################
eg:print(‘输入的三个数字为:’, num1, num2, num3)
###############################################

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值