Python自学笔记

此文转载自:https://blog.csdn.net/weixin_52778934/article/details/112412123#commentBox


Python的简介

优点

1. 代码量少——运行速度慢
2. 对于初学者和完成普通任务,Python简单易用
3. 日常任务都可以完成
4. Python为我们提供了大量的基础代码库和第三方库

缺点

1. 运行速度慢
2. 代码不能加密

//本人使用visual studio进行学习

IDLE常用快捷键

快捷键说明
F1打开Python帮助
Alt+P浏览历史文档(上一条)
Alt+N浏览历史文档(下一条)
Alt+/自动补齐前面曾经出现过的单词
Alt+3注释代码块
Alt+4取消代码的注释
Alt+g转到某一行
Ctrl+]缩进代码
Ctrl+[取消代码缩进
Ctrl+F6重启Python shell

Python语言基础

注释规则

  • 单行注释
    • 使用#作为单行注释的符号
    • 从符号#开始到换行为止,其他后面所有的内容都作为注释被Python编译器所省略
    • 单行注释可以放在要注释代码的前一行,也可以放在要注释代码的后一行
  #这是注释
  print("hello")
--------------------------------
  print("hello") #这是注释
  • 多行注释
    • 将其包含在一对三引号中
    • 在引号中并且不属于任何语句的内容被认为是注释,被解释器忽略
    • 注意:三引号是字符串界定符,所以,如果三引号在语句中出现,那就是字符串,不是注释
  • 中文注释
    • Python中,提供了一种特殊的中文注释,为了解决Python 2.X不能使用中文注释的问题,在Python 3.X已经解决
    • 可以加上-*-,但是没有特殊作用,只是为了美观
    """# coding =编码"""
    coding为注释的内容
    其中编码常用UTF-8,GBK
    
  • 代码要求
    • 在添加注释的时候,要有意义,即注释能充分体现代码的作用
    • 注释可以出现在代码的任意位置,但是不能分隔关键字和标识符
    • 在使用IDEL开发环境的时候,可以通过快捷键Alt+3将代码注释掉
    • 多行注释通常用来为Python文件,代码,类或者函数等添加权限,功能等信息(版权,功能及修改日期)

代码缩进

  • Python采用代码缩进和冒号区分代码之间的层次,而不是使用大括号{}
  • 对于类定义,函数定义,流程控制语句,以及异常处理语句,行尾的冒号和下一行的缩进代表代码块的开始,缩进结束代表一个代码块的结束
  • 缩进可以使用空格或者tab键
    • 使用空格的时候,通常使用4个空格作为一个缩进量
    • 使用tab的时候,通常使用一个tab键作为一个缩进量
    • 通常情况下建议使用空格进行缩进
  • Python对代码的缩进要求非常严格
    同一个级别的代码块的缩进量必须相同

    同一个级别的代码块的缩进量必须相同
    如果不采用合理的代码缩进,将抛出SyntaxError

编码规范

  • 编码规则

    Python采用PEP 8 作为编码规范
    (Python ENhancement Proposal)Python增强建议书

    • 每一个import语句只导入一个模块,尽量避免一次导入多个模块
    • 不要在行尾添加分号,也不要使用分号将两条命令放在同一行
    • 建议每一行不超过80个字符,如果超过,建议使用小括号将多行内容隐式的,不建议用反斜杠进行连接
    • 但是以下的情况除外:导入的模块过长,注释里的URL
    • 使用必要的空行可以增强代码的可读性:一般在顶级定义的(函数或类的定义)之间空两行,而方法定义之间空一行,另外,在用于分隔某些功能的位置可以空一行
    • 通常在运算符两侧,函数参数之间,逗号两侧要使用空格进行分隔
    • 避免在循环中使用+和+=操作符累加字符串,因为字符串是不可变的,这样做会创建不必要的临时对象,推荐将每一个字符串加入列表,然后在循环结束之后使用join()方法进行连接列表
    • 适当使用异常处理结构使程序提高容错性,但是不能过多依赖异常处理结构,适当使用显式判断
  • 命名规范

    • 模块名尽量短小,并且全部使用小写字母,可以使用多个下划线分隔多个字母
    • 包名尽量短小,并且全部使用小写字母,不推荐使用下划线,使用点分隔
    • 类名采用单词首字母大写的形式(Pascal)
    • 模块内部的类采用下划线+Pascal风格的类名组成
    • 函数,类的属性和方法的命名方式与模块类似,也是全部采用小写字母,多个字母间采用下划线翻个
    • 常量命名采用全部大写字母,可以使用下划线
    • 使用单下划线_开头的模块变量或函数是受保护的,在使用import*from函数语句从模块中导入时这些变量或者函数不能被导入
    • 使用双下划线__开头的实例变量或方法是类私有的

Python中的变量

与c++对比学习

变量的定义

  • 保留字和标识符
    在这里插入图片描述

    • 注意:
      • Python中的保留字是区分大小写的,例如if是保留字,但是IF不是保留字
      • Python中的名称不能含有保留字部分
  • 标识符

    • 标识符可以理解成为一个名字,主要用来标识变量,函数,类,模块和其他对象的名称

    • 命名规则

      • 由字母,下划线和数字组成,并且第一个字符不能是数字,目前Python中只允许使用ISO-Latin字符集中的字符A~Z 和 a~z,
      • 不能使用Python中的关键字
      • 不能含有空格,@,%,$等特殊字符
    • 区分大小写

    • 以下划线开头有特殊意义,一般不允许自定义标识符使用

      开头意义
      单下划线不能直接访问的类属性
      双下划线类的私有成员

    以双下划线开头或结尾的Python中的专用的标识

    在Python中允许使用汉字作为标识符,但是不建议使用

变量的使用

  • 变量的类型可以随时变化

使用内置函数type()可以返回变量类型

  • 相同的值对应的地址相同

可以使用内置函数id()返回变量所指的地址

基本数据类型

整数

  • 位数是任意的,自动转换高精度计算
  • 八进制数字以0o开头
  • 十六进制数字以0x开头

浮点数

  • 在使用浮点数进行计算时,可能会出现小数点位数不确定的情况

    例:0.1+0.2=0.30000000000000004
    

复数

  • 使用j或J表示虚部

字符串

  • 字符串属于不可变序列
  • 使用单引号,双引号,三引号括起来
    • 单双引号的字符必须在一行中
    • 三引号的字符序列可以分布在连续的多行上
  • Python字符串支持转义字符
    在这里插入图片描述
    • 在字符串界定符前加上字母r或R,该字符串将不被转义输出
    print(r"字符串
    字符串")
    

布尔类型

  • 布尔值在Python中可以进行数值计算
  • 所有的对象都可以进行真值计算,一下为假值情况
    • false或none
    • 数值0,包括0 、 0.0、虚数0
    • 自定义对象的实例,该对象的__bool__ 方法返回false或__len__方法返回0

数据类型转换

  • 常用类型转换函数在这里插入图片描述
  • 需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。
  • 在一个字符串中输出不同类型的变量就需要类型转换

基本输入和输出

使用input()函数输入

  • 在Python中,使用内置函数input()可以接受用户在键盘输入
variable = input("提示文字")
 其中variable为保存驶入结果的变量,
 双引号内的文字是用于提示用户输入内容
  • 在Python3.X中,输入的内容被当做字符串处理,在进行类型转换

使用print()函数输出

  • 默认情况下,在Python中,使用内置的print()函数可以将结果输出到IDLE或标准控制台上
print("输出内容")
	输出内容课是数字,字符串,
	可以是包含包含运算符的表达式,直接输出表达式结果
  • 在Python中,默认情况下,一句print语句输出后会自动换行
    如果不想换行,可以将输出的内容用半角逗号分隔
print("a,b")   输出变量a和b

运算符和表达式

运算符

算术运算符

与c++对比学习

  • //是取整数,即返回商的整数部分
  • x**y 幂,即返回x的y次方
  • 说明:
    • 在算术运算符中使用%求余,如果第二个操作数为负数,就返回一个负数
    • 使用除法/和//时,除数不能为0

赋值运算符(略)

比较运算符(略)

逻辑运算符

  • 只含有and,or,not

位运算符

同java,但是没有>>> 
  • 在遇到表达式与2乘除时,建议使用位移运算符,速度更快

优先级

在这里插入图片描述

  • 在编写程序的时候尽量使用()来限定运算符次序,以免次序发现错误

条件表达式

  • 关键字if
r=a if a>b else b

流程控制语句

程序结构

  • 分为3种:选择语句,判断语句,循环语句

选择语句

  • if语句
if 表达式:语句块1   else  语句块2

if 表达式1:语句块1 elif 表达式2:语句块2.else 语句块n
  • 注意:在使用if条件判断时,要注意缩进
    如果出现if多于else情况,解释器根据缩进情况确定else语句是属于那个if的
  • 规范写法
""" 规范的书写"""   if flag: #表示为真 if not flag :#表示为假
""" 不规范的书写""" if flag ==Trueif flag == False

循环语句

while循环

whlie 条件表达式:循环体
  • 没有do-while的表达式

for循环

  • for 循环是一个计次循环,一般在循环次数已知情况下,通常适用于枚举或遍历序列,迭代对象中的元素
for 迭代变量 in 对象 :循环体
   

更多内容详见微信公众号:Python测试和开发

Python测试和开发

原文地址:https://www.cnblogs.com/phyger/p/14262011.html