Python快速入门文档
前言
此文本质为本人学习Python过程中的笔记,部分地方叙述表达可能不够清晰,欢迎留言。
(本文适合有一定程序语言基础的读者阅读(最好是c语言))
一、基本语法
1、框架:
(1)以缩进表示层次所属关系、没有大括号
(2)没有分号、没有函数约束、没有begin/end
(3)没有类型声明、没有变量定义、没有指针
2、变量相关:
(1)变量只是将名字和对象关联,赋值操作并不是实际复制值;
id() #可显示对象的地址
3、输入输出:
input()
(a)读入一个字符串,若要使用数值,需要进行类型转换
如:a = int(input())
(b)一行可输入多个值 input().split()
如: n,m=input().split()
print()
每执行一次都自动换行
print(xxxx,end=' ') #不换行的方法
二、数据类型
1、数字类型:
整数:无数据范围
浮点数:浮点运算存在不稳定尾数,有误差
解决方案:
round(x[,n])
#[,n]为可选参数部分
#n保留的小数位数
#若x的小数位小于n,为输出位数以x的小数位为准
复数:
形如:a+b*j
real取实部 imag取虚部
complex(a,b) #用于创建real + imag * j
算数运算符:
'/' #浮点数除法
'//' #整数除法
'**' #幂运算
字符串:
单双引号无区别,三引号可跨行
运算符:
'+' #链接字符串
如:'hello'+'world' -> 'helloworld'
'*' #复制字符串
如:'ab'*3 -> 'ababab'
索引:
[0~n-1] or [-n,-1]
切片:
S[a:b] #读取S(a,b)的子串
三、常用内置转换函数
1、类型类:
bool()
int ()
float() #根据传入参数穿件新的浮点数
str() #创建字符创
2、编码类:
ord()
chr()
bin()
oct()
hex()
list() #根据传入参数创建列表
如: list('abcd') -> ['a','b','c','d']
3、详解:
int():
格式:int(x[,base=10]) #方括号内为可选参数
用法:
(a)int() #不传参,return 0
(b)int("02") #去掉0
(c)int(" 35 ") #去掉空格
(d)int("35",8) #转为8进制
ord():
用法:
(a)ord('a') #转为ASCII码 输出:97
(b)ord('中') #转为Unicode码 输出20013
chr(97) #参数类型为整数 输出:'a'
4、进制转换类函数:参数为十进制
bin() #输出二进制
oct() #输出八进制
hex() #输出十六进制
四、语句
1、基本规则:
(a)通常一行一条语句
(b)一行多条语句则用分号(;)隔开
(c)语句太长需要跨行,行末用(\)
2、赋值:
用法 1:普通赋值
用法 2:序列赋值
x,y=a,b #等价于 x=a y=b
常见用法:
x,y=y,x #等价于 swap(x,y)
用法 3:
i,j=[1,2,3] #error
i,*j=[1,2,3] #等价于 i=1 j=[2,3]
3、if语句:
if 逻辑表达式
语句块
elif 逻辑表达式
语句块
else 逻辑表达式
语句块
注意事项:
如果元素有多种形式的,if语句放在for前面。
如果元素不需要分类说明时,if语句放在for的后面。
4、循环语句:
for var in 列表
语句块
示例:for i in [1,2,3,4]:
printf(i,end=' ')
range(start,stop,step)函数
start:从start开始。默认从0开始
stop:到top结束。不包括stop
step:步长,默认为1
5、列表推导式:
描述:
(a)一种穿件列表的方式
(b)可与循环、条件结合使用;
(c)生成的是字符串列表
示例:
(1)与for结合
n1=[2*i for i in [1,2,3,4,5]]
即:n1=[2,4,6,8,10]
(2)与if结合
a=[1/i if i%2==1 else -1/i for i in range(1,n+1)]
即:a=[1,1/2,1/3,...,1/n]
应用示例:
(1)求1+1/2+...+1/20的和
a=sum([1/i for i in range(1,21)])
print(a) #即可输出结果
(2)求1-1/2+1/3-1/4+1/5+...
a=sum([1/i if i%2 else -1/i for i in range(1,21)])
print(a)
(3)求6+66+666+...+666...666
n=int(input())
print(sum(int(['6'*i for i in range(1,n+1)])))
Python快速入门文档的更多相关文章
- UE4官方行为树快速入门文档解析和修改
近学习了UE4官方文档的行为树快速入门指南,发现里面的部分逻辑稍稍有点混乱和重叠,于是加入了自己的想法,修改了部分行为树逻辑,优化了其AI寻路能力. 初始的基本操作和资源创建同官方文档一样:1个Fol ...
- jackson官方快速入门文档
官方地址: http://jackson.codehaus.org/ http://wiki.fasterxml.com/JacksonInFiveMinutes http://wiki.faster ...
- ThinkPHP5 快速入门文档
一. 5.0版本采用模块化的设计架构,默认的应用目录下面只有一个index模块目录,如果我要添加新的模块可以使用控制台命令来生成. 切换到命令行模式下,进入到应用根目录并执行如下指令: php thi ...
- Python快速入门
Python快速入门 一.基础概要 命名:h.py Linux命令行运行:python h.py 注释.数字.字符串: 基本类型只有数字与字符串 #python注释是这样写的 ''' 当然也可以这样 ...
- Python快速入门PDF高清完整版免费下载|百度云盘
百度云盘:Python快速入门PDF高清完整版免费下载 提取码:w5y8 内容简介 这是一本Python快速入门书,基于Python 3.6编写.本书分为4部分,第一部分讲解Python的基础知识,对 ...
- 【简明翻译】Hibernate 5.4 Getting Started Guide 官方入门文档
前言 最近的精力主要集中在Hibernate上,在意识到Hibernate 5 的中文资料并不多的时候,我不得不把目光转向Hibernate的官方doc,学习之余简要翻一下入门文档. 原文地址:htt ...
- Python中定义文档字符串__doc__需要注意格式对齐的处理
Python中的文档字符串是个很不错的提升代码交付质量.编写文档方便的特征,但是需要注意在使用文档字符串时,将文档字符串标识的引号对必须遵守缩进的规则,否则Python语法检查时会无法通过,而引号内的 ...
- 使用Python从Markdown文档中自动生成标题导航
概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...
- 数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
随机推荐
- 2018-06-17 js数组
数组的定义:① var arr=new Array(xx,xx,xx); ②var arr=[yy,yy,,yy]; 数组的查看:arr[x]; 数组的修改:arr[x]=xx; 数组的遍历:①for ...
- AIRAC
AIRAC是国际上划定的,以28天为一个周期的航行资料定期生效制. 2020年比较特殊,共有14个周期,分别是: 2001 2020/01/02 2020/01/29 2002 2020/01/30 ...
- Unity3D中UGUI不使用DOTween制作渐隐渐现效果
在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Uni ...
- 3.11 Go Struct结构体
3.11 Go Struct结构体 Golang支持OOP面向对象编程. Go的结构体struct如同python的class. Go基于struct实现OOP特性,只有组合composition这个 ...
- 51Nod - 1255
也是第十一届校赛的C题,不过他把1e5改成了1e7. 一开始就想到用贪心做.思路是这样的:开一个字符数组ans保存答案.然后从头到尾遍历题目给出的字符串S,如果ans数组中还没有这个字母,那么就把字母 ...
- Poj 2109 k^n = p.
Poj2109(1)和Poj2109(2)这两种解答都是有漏洞的,就是解不一定存在. 当然这种漏洞的存在取决于出题人是否假设输入的n,p必须默认有kn = p这样的关系存在. 这道题可以详细看http ...
- Tomcat——启动报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Servlet_app02a]]
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com ...
- opencv3学习1:opencv3.4.10与vs2017环境配置
原教程网址:https://jingyan.baidu.com/article/dca1fa6f13bd55f1a44052b9.html 具体教程网上很多,我也相信大家的搜素能力,作为一个初入C++ ...
- day18 迭代器
1,迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,只能往后走不能往前退: 2,可迭代对象:实现了迭代器协议的对象(如何实现: ...
- [ES6系列-03]ES6中关于参数相关特性详解(参数默认值与参数解构赋值与剩余参数)
[原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 今天总结一下 ES6 中跟参数相关的内容. 欢迎补充斧正.留言交流. 让我们互相学习一起进步. 1. ES6 参数默认值( ...