韩顺平 | 零基础快速学Python

环境准备

开发工具:IDLE、Pycharm、Sublime Text、Eric
、文本编辑器(记事本/editplus/notepad++)

Python特点:既支持面向过程OOP、也支持面向对象编程;具有解释性,不需要编程二进制代码,可以直接从源代码运行程序
运行原理:python.exe解释器程序,将源代码翻译成二进制码,提交给计算机执行

python安装:
安装路径建议不要有中文和空格,选择空间大的盘
Add python.exe to PATH,Path环境变量会添加python的安装目录,在不同路径下可以使用python.exe
查看安装成功否cmd:dir查看目录、 python.exe exit(),在cmd输入python,系统默认在当前目录下查找,如果没有则在PATH中依次查找并执行

>>> python hello.py # python.exe解释器

Pycharm常用快捷键:

shift + delete 删除当前行
ctrl + D 复制当前行
ctrl + / 添加/取消注释
ctrl + alt + L 快速格式化
ctrl+shift+F10/shift+F10 快速运行程序,可自己定义alt+R(设置-KeyMap-搜索run)
ctrl + H 查看类的层级关系(体会面向对象OOP继承很有用)
ctrl + R 替换

常用的转义字符

\t 制表符,实现对其功能
\n 换行符
\ 一个
" 一个"
’ 一个’
\r 回车

注释comment

# 单行注释
'''多行注释'''
"""多行注释"""
# coding:编码 #文件编码声明注释,文件开头指定文件编码格式(简体中文操作系统默认编码ANSI是gbk)

python代码规范

tab缩进,shift+tab整体向左移动
=两边习惯各加一个空格
变量之间使用逗号和空格
Python官方中文文档

Python基础

变量

变量是指向数据的,变量没有类型,类型是数据的

  • 格式化输出
    1)%操作符:http://blog.csdn.net/hesongzefairy/article/details/104179419
    2)format()函数:https://www.runoob.com/python/att-string-format.html
    3)f-strings【推荐】:https://blog.csdn.net/weixin_44200553
name = "张三”
age = 18
gender = '男'
source = 77.5
print("个人信息:", name, age, gender, source)
print("个人信息:%s-%d-%s-%.2f" %(name, age, gender, source)) # 占位符分别代表字符串、整数、字符串、2位小数
print("个人信息:{} {} {}".format(name, age, gender)) # 按序填充占位符,变量数大于等于占位符数
print(f"个人信息:{name} {age} {gender} {source}"
  • 加号+
    加号两边都是数值,执行运算
    加号两边都是字符串,执行拼接

数据类型

内置函数type(object) 查看数据类型,object可以是变量或数据,如果是变量,查看的是该变量指向的数据类型。

整型 int

Python的整数有10进制,16进制(0x前缀 0~9 A~F),8进制(0o 0~7),2进制(0b 0~1),运行时会自动转换成十进制输出

Python中整型占多少字节?
字节数随着数字增大而增大,python整型是变长的(java中int固定4字节),最小28个字节,每次增量4个字节。
可通过sys.getsizeof((object))返回对象的字节大小

字节(byte):计算机中基本存储单位
位(bit):计算机中最小存储单位 1byte = 8bit

浮点数 float

十进制:5.12, .512
科学计数法:5.12e2 (5.12*10^2), 5.12E -2 (5.12/(10^2))
浮点数有最大值最小值限制;
浮点数型计算后,存在精度的损失,可以使用Decimal类进行精确计算

from decimal import Decimal
a = 8 / 2.7
b = Decimal("8.1") / Decimal("2.7")
print(a, b)
布尔值 bool

取值True和False,通常用于逻辑运算,一般用于程序流程控制(条件控制语句,循环控制语句)
布尔类型可以和其他数据类型进行比较,比如数字、字符串,比较时python将True视为1,将False视为0
非0被视为真知,0被视为假值

字符串 str

单引号和双引号可以用于嵌套,而不适用转义字符表示引号;
python不支持单字符类型,同样被视为字符串;
三引号(‘’'或"“”)可使内容原样输出;
字符串前加 r 可使字符串不被转义;
字符串驻留机制:字符串池,节省空间提高效率

# 字符串驻留机制:Python仅保存一份相同的字符串
str1 = "Hello"
str2 = "Hello" # id()返回数据的标识值/内存地址
print(id(str1) == id(str2)) # True
# 驻留机制的几种情况
# 1) 字符串是由26个英文字母大小写,0-9,_组成(需在交互模式win+R -> python)
a = "abc#"
b = "abc#"
print(id(a) == id(b)) # False
# 2)字符串长度为0或1时,不受1)限制
# 3)字符串在编译时进行驻留,而非运行时(字符串在没有确定变量内容是什么前,可以发生驻留)
a = "abc"
b = "".join(["a", "bc"]) #运行后确定内容"abc"
print(id(a) == id(b)) # False
# 4) [-5, 256]的整数数字
# 强制2个字符串指向同一个对象
s1 = "abc#"
s2 = sys.intern(s1)
s1 is s2 # True 
# pycharm对字符串进行了优化处理,不受驻留机制情况限制
数据类型转换
  • 隐式类型转换/自动转换:
    变量根据使用的上下文(即当前值)在运行时决定其类型
    运算时数据类型会向高精度转换
var1 = 10
print(type(var1)) # int
  • 显示类型转换/强制转换:
    将数据类型作为函数名;
    float转换成int时会直接去掉小数点部分;
    str转成int时,要求字符串中本身是整数;str转成float,字符串中可以是整数;
    强制转换后不会影响原变量和数据/值得类型。
i = 10
j = float(i) # 10.0
print(type(i)) # int
print(type(j) # float
i = j + 1 # 11.0
print(type(i)) # float
print(type(j)) # float
print(i) # 11.0
print(int(i)) # 11
print(type(i)) # float

符号 & 关键字

运算符

运算符:表示数据的运算、赋值和比较等

  • 算数运算符:+ - * /
    %除法取模(取余),7%5 = 2
    // 除法取商的整数部分(向下取整) 9//2 = 4
    ** 返回x的y次幂 2**4 = 16
  • 比较运算符
    == != < > <= >=
    is/is not 判断两个变量引用对象是否为同一个/不同
  • 逻辑/布尔运算符
    and or(布尔或是短路运算符,按序false才会判断下一个条件) not
  • 赋值运算符:=
    +=/-=/*=//=/%=/**=///= 复合加减乘除/取模/幂/取整除赋值运算符 c += a 等效于 c = c + a
  • 三元运算符
    用if else实现 ? : 功能 max = a if a > b else b
  • 位运算符 [二进制]

运算符优先级

在这里插入图片描述

标识符

Python对各种变量、函数和类等命名时使用的字符序列

  • 命名规则:
    由26个英文字母大小写,0-9,_组成
    数字不可以开头
    不能使用关键字,但可以包含关键字
    Python区分大小写
    标识符不能包含空格
    类名:大驼峰命名,首字母大写

关键字

关键字/保留字:python语言赋予特殊含义,用作专门用途,不能用于普通标识符
cmd -> python -> help() -> keywords
在这里插入图片描述

键盘输入语句

内置函数input(prompt): 如果存在“提示”实参,则将其写入标准输出,末尾不带换行符。接下来,阻塞等待输入,键盘输入语句,函数从中读取一行,将其转换为字符串(除末尾的换行符)并返回。当读取到EOF时,则触发EOFError。

name = input("请输入姓名:")
age = input("请输入年龄:") # 可以在接收时将str转成int int(input("..."))
score = input("请输入成绩:")
print("\n输入信息如下:")
print("name: ", name)
print("age: ", age)
print("score: ", score)

程序控制结构

顺序控制

从上到下按序执行,没有跳转或循环

分支控制

# 单分支
if 条件表达式:代码块 # 相同缩进界定统一代码块,不同缩进代表代码块内外或嵌套,相当于其他编程语言中的{}
# 双分支
if 条件表达式:代码块1
else:代码块2
# 多分支
if 条件表达式1:代码块1
elif 条件表达式2:代码块2
...
else:代码块n+1
# 嵌套分支:内外层分支,建议不超过3层,影响可读性
if:if:

循环控制

如果需要遍历数字序列,可以使用内置range()函数,它会生成前闭后开的数列。

# for循环
for <变量> in <范围/序列>: # 数据集,可迭代对象,如字符串、列表等<循环操作语句>
# while循环# 多重循环

函数

数据容器

排序查找算法

Python高级

断点调试

模块

面向对象

封装

继承

多态

实践-出租系统

异常

文件读取

pyecharts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/297223.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精准扶贫管理系统|基于Springboot的精准扶贫管理系统设计与实现(源码+数据库+文档)

精准扶贫管理系统目录 目录 基于Springboot的精准扶贫管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 &#xff08;1&#xff09;用户信息管理 &#xff08;2&#xff09;贫困户信息管理 &#xff08;3&#xff09;新闻类型管理 &a…

Centos7安装Docker与Docker-compose【图文教程】

个人记录 查看一下系统是否已经安装了Docker yum list installed | grep docker如下图代表没有安装Docker 卸载已有Docker yum remove docker docker-common docker-selinux docker-engine切换目录 cd /etc/yum.repos.d/查看当前目录所有的镜像源 ll安装yum-util与devi…

3月造车新势力销量出炉:问界继续领跑,哪吒下滑,岚图抢眼

进入4月份&#xff0c;各大造车新势力们纷纷公布了3月份最新销量成绩&#xff0c;根据相关数据显示&#xff0c;问界再度超越理想&#xff0c;夺得造车新势力头名的位置。而零跑、蔚来、小鹏的销量也实现不错的增长&#xff0c;岚图汽车的表现同样十分亮眼。不过日前遭到周鸿祎…

Vite为什么比Webpack快得多?

Vite为什么比Webpack快得多&#xff1f; 在前端开发中&#xff0c;构建工具扮演着至关重要的角色&#xff0c;而Vite和Webpack无疑是两个备受关注的工具。然而&#xff0c;众多开发者纷纷赞誉Vite的速度之快&#xff0c;本文将深入探讨Vite相较于Webpack为何更快的原因&#xf…

C语言数组详解

一维数组 创建和初始化 数组就是一组相同元素的集合。 他的创建&#xff1a; char arr[10]; int arr1[5]; 数组创建中 [] 里不能是变量&#xff0c;但是在c99标准之后就可以了被称为变长数组&#xff0c;但是不常用&#xff0c;而且变长数组不能初始化。 初始化&#xff…

浅聊什么是Redis?

需求&#xff1a;MySQL面临大量的查询&#xff0c;即读写操作&#xff0c;因此类比CPU&#xff0c;给数据加缓存&#xff0c;Redis诞生。应用程序从MySQL查询的数据&#xff0c;在Redis设置缓存&#xff08;记录在内存中&#xff0c;无需IO操作&#xff09;&#xff0c;后再需要…

8.list容器的使用

文章目录 list容器1.构造函数代码工程运行结果 2.赋值和交换代码工程运行结果 3.大小操作代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.反转和排序代码工程运行结果 list容器 1.构造函数 /*1.默认构造-无参构造*/ /*2.通过区间的方式进行构造…

AJAX —— 学习(二)

目录 一、利用 JSON 字符串 返回数据 &#xff08;一&#xff09;基础代码 &#xff08;二&#xff09;原理及实现 二、nodmon 工具 自动重启服务 &#xff08;一&#xff09;用途 &#xff08;二&#xff09;下载 &#xff08;三&#xff09;使用 三、IE 缓存问题 &a…

计算机网络:数据链路层 - 可靠传输协议

计算机网络&#xff1a;数据链路层 - 可靠传输协议 可靠传输概念停止-等待协议 SW回退N帧协议 GBN选择重传协议 SR 可靠传输概念 如下所示&#xff0c;帧在传输过程中受到干扰&#xff0c;产生了误码。接收方的数据链路层&#xff0c;通过真伪中的真检验序列 FCS 字段的值&…

Python环境下基于离散小波变换的信号降噪方法

Mallat创造了小波分析中的经典理论之一&#xff0c;即多分辨率分析的概念。后来&#xff0c;在Mallat与Meyer的共同努力之下&#xff0c;他们又在这一理论的基础上发明了离散小波变换的快速算法&#xff0c;这就是Mallat塔式算法&#xff0c;这种算法可以大量减少计算时间。在之…

6、Cocos Creator 2D 渲染组件:​Sprite 组件​

Sprite 组件 Sprite&#xff08;精灵&#xff09;是 2D/3D 游戏最常见的显示图像的方式&#xff0c;在节点上添加 Sprite 组件&#xff0c;就可以在场景中显示项目资源中的图片。 属性功能说明Type渲染模式&#xff0c;包括普通&#xff08;Simple&#xff09;、九宫格&#x…

Android Monkey自动化测试

monkey一般用于压力测试&#xff0c;用户模拟用户事件 monkey 基本用法 adb shell monkey [参数] [随机事件数]monkey常用命令 -v&#xff1a;用于指定反馈信息级别&#xff0c;总共分三个等级-v -v -vadb shell mokey -v -v -v 100-s&#xff1a;用于指定伪随机数生成器的种…

Apache DolphinScheduler 【安装部署】

前言 今天来学习一下 DolphinScheduler &#xff0c;这是一个任务调度工具&#xff0c;现在用的比较火爆。 1、安装部署 1.0、准备工作 1.0.1、集群规划 dolphinscheduler 比较吃内存&#xff0c;所以尽量给 master 节点多分配一点内存&#xff0c;桌面和虚拟机里能关的应用…

HomePlug AV

目录 HomePlug AV的基本概念基本术语网络概念网络实例 HomePlug AV物理层&#xff08;PHY&#xff09;HomePlug AV OFDM收发器架构PHY的调制模式FC调制和ROBO调制物理层的特点OFDM频域/时域转换开窗/槽式OFDM信号和噪声PHY发送控制——信道自适应PHY帧格式&#xff08;Symbol&a…

jupyter Notebook 默认路径修改

1. anaconda prompt 中运行 jupyter notebook --generate-config 命令&#xff0c;将在 C:\Users\Think\.jupyter文件下生成 jupyter_notebook_config.py 文件。 2.在jupyter_notebook_config.py 文件中&#xff0c;找c.NotebookApp.notebook_dir 这个变量&#xff0c; (1)若…

【Linux】详解动态库链接和加载对可执行程序底层的理解

一、动静态库链接的几种情况 如果我们同时提供动态库和静态库&#xff0c;gcc默认使用的是动态库。如果我们非要使用静态库&#xff0c;要加-static选项。如果我们只提供静态库&#xff0c;那可执行程序没办法&#xff0c;只能对该库进行静态链接&#xff0c;但程序不一定整体…

MySQL版本特性和存储引擎选择

MySQL版本特性和存储引擎选择 1.说一下MySQL 5.5 5.6 5.7 8.0 各个版本的特性 MySQL 5.5 优点: 稳定性&#xff1a;5.5版本是长期支持&#xff08;LTS&#xff09;版本&#xff0c;因此它非常稳定&#xff0c;被广泛部署在生产环境中。兼容性&#xff1a;与旧版本的MySQL和…

Golang | Leetcode Golang题解之第3题无重复字符的最长子串

题目&#xff1a; 题解&#xff1a; func lengthOfLongestSubstring(s string) int {// 哈希集合&#xff0c;记录每个字符是否出现过m : map[byte]int{}n : len(s)// 右指针&#xff0c;初始值为 -1&#xff0c;相当于我们在字符串的左边界的左侧&#xff0c;还没有开始移动r…

【C++常用函数介绍】isalpha,isalnum、isdigit、islower、isupper 用法

首先 isalpha,isalnum、isdigit、islower、isupper 的使用方法都需要用到一个头文件 #include<ctype.h>其次 系统的介绍以上函数的用法 isalpha()用来判断一个字符是否为字母 isalnum&#xff08;&#xff09;用来判断一个字符是否为数字或者字母&#xff0c;也就是说…

【数据结构】——二叉树的递归实现,看完不再害怕递归

创作不易&#xff0c;感谢三连加支持&#xff1f;&#xff01; 一 递归理解 递归无非就是相信它&#xff0c;只有你相信它&#xff0c;你才能写好递归&#xff01;为什么&#xff1f;请往下看 在进入二叉树的实现之前&#xff0c;我们得先理解一遍递归&#xff0c;可能很多…