快速上手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. rust学习笔记(1)

    参考 rust圣经 参考 通过例子学习rust cargo 是rust的包管理器+编译工具 创建新项目 使用下述指令创建一个新的项目 cargo new rust_learn 执行 使用 cargo ...

  2. Java 设计模式:装饰者模式(Decorator Pattern)

    一.模式定义 装饰者模式属于结构型设计模式,允许通过动态包装对象的方式为对象添加新功能,提供比继承更灵活的扩展方式.该模式通过组合替代继承,遵循开闭原则(对扩展开放,对修改关闭). 二.核心角色 Co ...

  3. mac ping IP+端口的方法

    nc -vz -w 2 192.168.1.104 3306

  4. element-ui和ant-design-vue 数字输入框只能输入大于等于1的整数

    限制输入的是大于等于1的整数 <template> <div> <h1>ant-design-vue 1.xx</h1> <a-input-num ...

  5. git库移植

    记一次个人项目移植到组织项目的git应用,留爪. 1. 首先保证你本地有一份完整的库 2. 在 gitee 组织里新建一份裸库 3. 本地库移除所有远程库 git remote //查看所有远程库 g ...

  6. fdMemtable FDQuery json之间的一些关系

    1 procedure TForm1.btn1Click(Sender: TObject); 2 var ss,ss1: TStringStream; 3 begin 4 ss := TStringS ...

  7. 快戳进来!PostgreSQL实战型系列文章来了!

    快戳进来!PostgreSQL实战型系列文章来了! Whoami:6年+金融.政府.医疗领域工作经验的DBA Certificate:PGCM.OCP.YCP Skill:Oracle.Mysql.P ...

  8. redis-dump教程

    1.安装ruby 安装教程:https://www.cnblogs.com/wanyuan/p/11217397.html 安装完成后在DOS窗口输入ruby -v查看当前版本 2.安装redis-d ...

  9. Spring 整合 Junit

    一.导入jar包 二.使用@RunWith 注解替换原有运行器 [main()] /** * * @Company http://www.ithiema.com * @Version 1.0 */ @ ...

  10. 看了他,妈妈再也不用担心我被问到Mybatis缓存了

    Mybatis缓存 一.一级缓存 1. 概念 sqlsession级别的缓存,即缓存的是SQL语句 同一个sqlsession中执行多次查询条件相同的SQL,mybatis会提供一级缓存进行优化 2. ...