[Python入门] python自学笔记
- Python的简介
-
- Python语言基础
-
- Python中的变量
-
- 基本数据类型
-
- 整数
- 浮点数
- 复数
- 字符串
- 布尔类型
- 数据类型转换
- 基本输入和输出
-
- 使用input()函数输入
- 使用print()函数输出
- 运算符和表达式
-
- 运算符
-
- 算术运算符
- 赋值运算符(略)
- 比较运算符(略)
- 逻辑运算符
- 位运算符
- 优先级
- 条件表达式
- 流程控制语句
-
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采用代码缩进和冒号区分代码之间的层次,而不是使用大括号{}
- 对于类定义,函数定义,流程控制语句,以及异常处理语句,行尾的冒号和下一行的缩进代表代码块的开始,缩进结束代表一个代码块的结束
- 缩进可以使用空格或者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中的专用的标识
在Python中允许使用汉字作为标识符,但是不建议使用
变量的使用
使用内置函数type()可以返回变量类型
可以使用内置函数id()返回变量所指的地址
基本数据类型
整数
- 位数是任意的,自动转换高精度计算
- 八进制数字以0o开头
- 十六进制数字以0x开头
浮点数
复数
字符串
- 字符串属于不可变序列
- 使用单引号,双引号,三引号括起来
- 单双引号的字符必须在一行中
- 三引号的字符序列可以分布在连续的多行上
- Python字符串支持转义字符
- 在字符串界定符前加上字母r或R,该字符串将不被转义输出
print(r"字符串\n字符串")
布尔类型
- 布尔值在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
赋值运算符(略)
比较运算符(略)
逻辑运算符
位运算符
同java,但是没有>>>
- 在遇到表达式与2乘除时,建议使用位移运算符,速度更快
优先级
- 在编写程序的时候尽量使用()来限定运算符次序,以免次序发现错误
条件表达式
r=a if a>b else b
流程控制语句
程序结构
选择语句
if 表达式:语句块1 else 语句块2
if 表达式1:语句块1 elif 表达式2:语句块2. …else 语句块n
- 注意:在使用if条件判断时,要注意缩进
如果出现if多于else情况,解释器根据缩进情况确定else语句是属于那个if的
- 规范写法
""" 规范的书写""" if flag:
""" 不规范的书写""" if flag ==True: if flag == False
循环语句
while循环
whlie 条件表达式:循环体
for循环
- for 循环是一个计次循环,一般在循环次数已知情况下,通常适用于枚举或遍历序列,迭代对象中的元素
for 迭代变量 in 对象 :循环体