快速上手python的坑

这篇文章是乱写的

零 使用的软件及其版本

python 3.6

PyCharm Community Edition 2016.2.3

一 输入输出

输出

(在python 3.* 中?)print后要加括号

1 print(123)
2 print("123")

上述代码还有两处重点

  1. print会自动换行
  2. 数字和字符串不同但可以转换(直接暴力强转int("123") !)

还可以在print中用逗号分隔,左右两个元素输出之间会自动多一个空格

1 a=123
2 print("a的值是",a)

输出:

1 a的值是 123

输入

一般用input(),该函数返回值是字符串,参数是想要预先告诉输入者的话(可选)

故,当你想要输入一个数字时……

1 a=input("这里是想要预先说的话,比如你可以说'请输入一个数字并按回车'")
2 print(a)
3 print(a+1)

第一行,语法上没问题

第二行,语法上没问题

第三行,语法上没问题,但是在运行中会报错,因为a是个字符串而不能和数字相加

数字只能和数字相加,字符串只能和字符串相加

故,需要把a转化成int类型。

可以在input()前面加上int,即int(input()),也可以在加法运算的a前加上int,即print(int(a)+1)

当然,用途不同,你也可以把两个字符串相加,就是将后面的那个放到前面的末尾。

另外,input()是遇到换行符才返回,所以当两个数据中间不是用换行符分割而是用空格、制表符时,请用一个input()再加上分割函数split()来将几个数据分开 input().split()

例如:

  input:123 456  789

  那么input().split()就是一个有三个元素的列表(list),["123","456","789"],并且其元素都是字符串而不是数字!

循环与分支

  • python的不同层的结构全靠Tab键(也就是制表符,或者说是4个空格?)
  • 其实一条语句后面可以加分号的,但是有了第一条就完全没必要了
  • while,for,if记得打冒号!!!

列表,元组与字典

列表

未知元素个数的列表该怎么访问?

f1=open("test.txt",'r')
list=f1.readlines()
#这样你就不能知道list有多少元素了
方法一

使用len()

1 for i in range(len(list)):
2 print(list[i])
方法二(推荐)

直接for

1 for i in list:
2 print(i)

建议第二种。因为短小精悍……

注意,第一种中,i是数字,作为下表访问。第二种中,i是list的元素的类型,直接print。

range()的起始大于末尾

range()一般最多有三个参数,分别是start,stop,step

其实start是可以比stop大的(尽管这不合常理)

如果step为正(或指定step)
1 a=list(range(10,4))
2 print(a)

输出

1 []

什么都不输出

如果step为负数
1 a=list(range(10,4,-1))
2 print(a)

输出

1 [10, 9, 8, 7, 6, 5]

输出是倒序的,仍然是左闭右开(这里是包括大的10,不包括小的4)的列表

列表的函数和方法

.append(a)

在后面追加一个元素a

.insert(a,b)

将b插入到下表为a的元素之前,也就是使b插入成为a号元素,后面的元素顺移

.extend(a)

合并两个列表,将a放到原列表之后

.index(a)

返回为a的元素的下标。如果有多个,返回第一次出现的(下标最小的)

.remove(a)

从列表中删除第一次出现的a

.pop(index=-1)

删除列表中下表为index的值(默认为-1也就是最后一个值),并返回这个值

另外最常用的当然有切片和下标访问,切片[起点=0:终点=len(list):步长=1],下标[可正可负]

cmp(list1,list2)

python3没有

len(list)

返回元素个数

max(list)

返回元素中的最大值

min(list)

返回元素中的最小值

list()

将元组转化为列表

del(list[a])

删除list的下标为a的元素,无返回值

注意三种删除(pop,remove,del)

pop是指定下标,remove是指定元素的值,del是指定某个列表的某个下标

别名

当你在定义一个变量b时将其的值赋为另一个变量a时

1 a=123
2 b=a
3 print(id(a))
4 print(id(b))

这两个变量的id(地址)是相同的

1 1448260512
2 1448260512

然后,当你又把早已定义过的变量b赋或变量c时

 1 a=123
2 c=456
3 b=a
4 print(id(a))
5 print(id(b))
6 b=c
7 print(a)
8 print(b)
9 print(id(a))
10 print(id(b))
11 print(id(c))

b的id会变化为与c的id相同,a的值不会改变

1448260512
1448260512
123
456
1448260512
2861234749232
2861234749232

【也就是说,把一个变量赋给另一个变量时先不会申请行动空间,只有在之后的操作中才会变id】

若把a,b赋值为一个常量

本来a,b的id是不会相同的

但是如果a,b的相同(不一定要初值!),

那么a,b会自动分配为一个内存

1 a=123
2 b=123
3 print(a)
4 print(b)
5 print(id(a))
6 print(id(b))

输出

1 123
2 123
3 1448260512
4 1448260512

为什么不一定要初值?

如:我在开始时,两个数据本不一样,但后来将其相等了

 1 a=123
2 b=1234
3 print(a)
4 print(b)
5 print(id(a))
6 print(id(b))
7 b=123
8 print(a)
9 print(b)
10 print(id(a))
11 print(id(b))

输出

1 123
2 1234
3 1448260512
4 1634576400176
5 123
6 123
7 1448260512
8 1448260512

我承认python的智能……

快速上手python的坑的更多相关文章

  1. 快速上手 Python 命令行模块 Click

    关于Click? 说下 Click 模块是干啥的,简单说,它就是把我们的 Python 脚本的一些函数,通过 添加带有 Click 关键字的装饰器进行装饰进而将函数调用的形式转化为命令行传参的形式然后 ...

  2. 快速上手python的简单web框架flask

    目录 简介 web框架的重要组成部分 快速上手flask flask的第一个应用 flask中的路由 不同的http方法 静态文件 使用模板 总结 简介 python可以做很多事情,虽然它的强项在于进 ...

  3. Flask入门和快速上手

    目录 Flask入门和快速上手 python三大主流框架对比 Flask安装 依赖 可选依赖 创建flask项目 flask最小应用--hello word 非法导入名称 调试模式 路由 唯一的 UR ...

  4. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  5. 从0开始的Python学习001快速上手手册

    假设大家已经安装好python的环境了. Windows检查是否可以运行python脚本 Ctrl+R 输入 cmd 在命令行中输入python 如果出现下面结果,我们就可以开始python的学习了. ...

  6. Python编程快速上手-让繁琐工作自动化-第二章习题及其答案

    Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么 ...

  7. python的requests快速上手、高级用法和身份认证

    https://blog.csdn.net/qq_25134989/article/details/78800209 快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其 ...

  8. Python requests快速上手

    Python requests快速上手 这里参考官方文档,在ide中写了一遍,加深一下印象,定义的函数只是为了方便区分不同的请求方式 #-*-coding:utf-8-*- # Time:2017/1 ...

  9. 入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码

    入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. ...

  10. 学习Keras:《Keras快速上手基于Python的深度学习实战》PDF代码+mobi

    有一定Python和TensorFlow基础的人看应该很容易,各领域的应用,但比较广泛,不深刻,讲硬件的部分可以作为入门人的参考. <Keras快速上手基于Python的深度学习实战>系统 ...

随机推荐

  1. leaflet生成地图封装成jquery插件使用

    公司业务里一直都有使用leaflet地图插件来做地图展示.绘图等操作.公司有个项目已经有好几年了,由于项目原因一直在使用,今年由于google 地图 api过期,导致已经使用的地图无法加载.我作为现在 ...

  2. 关于能否用DeepSeek做危险的事情,DeepSeek本身给出了答案

    AI教父辛顿说DeepSeek允许本地部署的话可能会导致用户用DeepSeek来做一些危险的事情(https://t.cj.sina.com.cn/articles/view/7879923924/m ...

  3. halcon 入门教程(六) 图像匹配(基于形状的模板匹配)与缺陷检测区域定位

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18783476 有兴趣可以多看其他的halcon教程 halcon 学习教程目录 本篇主要讲一下 ...

  4. Next.js中间件权限绕过漏洞分析(CVE-2025-29927)

    本文代码版本为next.js-15.2.2 本篇文章首发在先知社区:https://xz.aliyun.com/news/17403 一.漏洞概述 CVE-2025-29927是Next.js框架中存 ...

  5. 【Python】导出docx格式Word文档中的文本、图片和附件等

    [Python]导出docx格式Word文档中的文本.图片和附件等 零.需求 为批量批改学生在机房提交的实验报告,我需要对所有的实验文档内容进行处理.需要批量提取Word文档中的图片和附件以便进一步检 ...

  6. 《机器人SLAM导航核心技术与实战》前言

    <机器人SLAM导航核心技术与实战>前言 温馨提示: 本篇文章是我最新出版的书籍<机器人SLAM导航核心技术与实战>的前言部分,感兴趣的读者可以购买纸质书籍来进行更加深入和系统 ...

  7. PHP传递参数(跨文件)的8种常见方法

    以下是 PHP 中跨文件传递参数的 8 种常见方法,按场景和安全性分类整理,附详细说明和示例代码: 一.超全局变量(适合请求间数据共享) 1. $_GET / $_POST 用途:通过 URL 或表单 ...

  8. 🎀抓包工具安装-Charles

    简介 Charles 作为一个 HTTP 代理/HTTP 监视器/反向代理工具,允许开发者查看他们的计算机与互联网之间的所有 HTTP 和 HTTPS 通信.工作原理是基于 HTTP 代理的概念,它充 ...

  9. python处理ppt文件,转换成图片或者pdf文件(获取目录下所有文件信息、文件名称分割、文档操作)

    把PPT每一页截图到公众号里推送可是个体力活,那就用python脚本去分解ppt,保存每一个为一张图片好了 需要用到"win32com.client"库 import win32c ...

  10. Java 中如何判断对象是否是垃圾?不同垃圾回收方法有何区别?

    Java 中如何判断对象是否是垃圾? 在 Java 中,垃圾是指不再被引用的对象.JVM 使用以下两种方法判断对象是否是垃圾: 1. 引用计数法(Reference Counting) 工作原理 每个 ...