韩顺平 | 零基础快速学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.mzph.cn/news/790211.shtml

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

相关文章

算法沉淀——动态规划篇(子数组系列问题(上))

算法沉淀——动态规划篇&#xff08;子数组系列问题&#xff08;上&#xff09;&#xff09; 前言一、最大子数组和二、环形子数组的最大和三、乘积最大子数组四、乘积为正数的最长子数组长度 前言 几乎所有的动态规划问题大致可分为以下5个步骤&#xff0c;后续所有问题分析都…

基于SSM+Jsp+Mysql的航空机票预订系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

小红数组操作(结构体模拟链表详细解析)(双向链表)c/c++

题目描述: 小红拿到了一个数组&#xff0c;初始数组为空&#xff0c;她希望你实现以下两种操作&#xff1a; 1. 输入x,y&#xff0c;将x插入在元素y的右边。保证此时数组中没有元素等于x&#xff0c;且数组中存在一个y。特殊的&#xff0c;如果将x插入在数组的最左边&#xff0…

hadoop在linux上启动成功了,但是浏览器访问不了

根据网上的资料进行安装hadoop的伪集群 都安装成功&#xff0c;并且启动也成功了&#xff0c;如下图所示&#xff1a; 2、但是在浏览器上确是怎么也访问不了&#xff0c; 解决思路&#xff0c; 2.1、根据网上的一些文章处理解决是关闭防火墙&#xff0c; 2.1.1、我根据操作步骤…

影视剪辑来这6个网站找视频素材~

影视剪辑&#xff0c;一般都是先找影视资源&#xff0c;保存百度云下载或者直接录屏&#xff0c;再进行二次创作&#xff0c;找影视资源可以到下面这个网站&#xff0c;绝对能找到90%的电视剧、电影。 茶杯狐 一个影视资源搜索网站&#xff0c;页面非常干净&#xff0c;提供了各…

Python基础之pandas:字符串操作与透视表

文章目录 一、字符串操作备注&#xff1a;如果想要全部行都能输出&#xff0c;可输入如下代码 1、字符检索2、字符转换3、字符类型判断4、字符调整5、字符对齐与填充6、字符检索7、字符切割8、字符整理 二、透视表1、pd.pivot_table2、多级透视表 一、字符串操作 备注&#xf…

[力扣]根据前中序构造二叉树--详细解析

根据前中序遍历顺序构建一个二叉树 力扣练习链接 过程 总体框架 设preorder的左边界为pleft,右边界为pright[注意这里是闭区间能取到]同时设inorder的左边界为ileft,有边界为iright[同样也是可以取到的索引区间]我们生成每一个区间的树的头结点,然后向上返回,对于他的父亲结点…

Python搭建编程环境—安装Python3解释器

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;零基础学Python &#x1f4ac;个人格言&#xff1a;不断的翻越一…

Day18-【Java SE进阶】多线程

一、线程 1. 什么是线程? 线程(Thread)是一个程序内部的一条执行流程。程序中如果只有一条执行流程&#xff0c;那这个程序就是单线程的程序。 2. 多线程 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行) 3. 如何在程序中创建出多条线程? Ja…

数据文件大小扩容或缩容必备技能

欢迎关注“数据库运维之道”公众号&#xff0c;一起学习数据库技术! 本期将为大家分享“数据文件大小扩容或缩容必备技能” 。 关键词&#xff1a;Resize Datafile、ORA-03297、高水位线 表空间跟数据文件是一对多的关系&#xff0c;数据文件存放到磁盘或ASM磁盘组。当磁盘空间…

如何通过Spring提供的EL表达式执行bean的属性或方法?

如何通过Spring提供的EL表达式执行bean的属性或方法&#xff1f; 关键两个bean&#xff1a; org.springframework.expression.Expression org.springframework.expression.spel.support.StandardEvaluationContext 实例&#xff1a; import cn.hutool.extra.spring.Spring…

计算机视觉——图像金字塔理解与代码示例

图像金字塔 有时为了在图像中检测一个物体&#xff08;例如人脸、汽车或其他类似的物体&#xff09;&#xff0c;需要调整图像的大小或对图像进行子采样&#xff0c;并进行进一步的分析。在这种情况下&#xff0c;会保持一组具有不同分辨率的同一图像。称这种集合为图像金字塔…

人大金仓数据库介绍与使用指南

人大金仓数据库是一款强大的关系型数据库管理系统&#xff0c;具有简单易用、高性能和稳定可靠的特点。本文将介绍人大金仓数据库的安装方法、常用的SQL语法以及相关工具的使用。 一、安装方法&#xff1a; 1、下载人大金仓数据库安装程序&#xff1b; 2、运行安装程序&#…

自动驾驶之心规划控制笔记

Search-based Path Planning Methods Path Finding Problem 一般来说指标有距离,耗费时间,能量,或者多目标。 左图是拓扑地图,蓝色的点就是顶点,绿色的线是连接关系。最后得到的是一个从哪里走的一个最优,并非精细解。 右图是栅格地图,这个搜索出来的是在相对分辨率比…

SSL证书有哪些种类?有免费的吗?

SSL证书主要有以下几种类型&#xff1a; 1. 域名验证型SSL证书 (DV SSL)&#xff1a; - 仅对申请者的域名所有权进行验证&#xff0c;无需人工验证申请单位的真实身份。 - 审核快速&#xff0c;通常适用于个人网站、小型组织或各类加密应用。 2. 组织验证型SSL证书 (OV…

C++的并发世界(五)——线程状态切换

0.线程状态 初始化&#xff1a;该线程正在被创建&#xff1b; 就绪&#xff1a;该线程在列表中就绪&#xff0c;等待CPU调度&#xff1b; 运行&#xff1a;该线程正在运行&#xff1b; 阻塞&#xff1a;该线程被阻塞挂机&#xff0c;Blocked状态包括&#xff1a;pend&#xff…

顶级Layer-3 通证正在飙升,布局龙头Degen Chain(含bitget教程)

近期以太坊生态内&#xff0c;Base 一枝独秀&#xff0c;其 TVL 突破 25 亿美元&#xff0c;创历史新高。并且生态内的社交文化和 DeFi 板块的龙头都很惹眼。 Farcaster 协议上的 meme 币 DEGEN 目前价格为 0.018 美元&#xff0c;7 日涨幅达 376%。 DEGEN 兴起于 Farcaster 的…

数据开发-面试真题。

1. 自我介绍 2.在培训班的学过的项目经历 3.之前的工作经历&#xff0c;以及薪资 4.开始讲之前的项目经历 5.技术面试官开始提问。 kafka中进行数据分层&#xff0c;怎么从kafka中实时查询到相关的数据&#xff0c;一条或几条 6.java中的集合&#xff0c;以及io流 7.给定…

知识产权与标准化

根据希赛相关视频课程汇总整理而成&#xff0c;是个人软考的复习笔记&#xff0c;仅供参考 知识产权概述 知识产权类型&#xff1a; ①著作权&#xff08;版权、文学产权&#xff09; ② 工业产权&#xff08;产业产权&#xff09; 知识产权的特点&#xff1a; 无形性、独占性…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(7)复发

PS从入门到精通视频各类教程整理全集&#xff0c;包含素材、作业等 最新PS以及插件合集&#xff0c;可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制&#xff0c;今天先分享到这里&#xff0c;后续持续更新 PS敬伟01——90集等文件 https://www.alipan.com/s…