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)
随机推荐
- 6、保持会话(save)
前言 为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司.你这时候给对方开发提bug, 如何显得专业一点,能让对方心服 ...
- MYSQL mysql.user表中权限对应的解释
命令标识 授权表中对应的列 说明 CREATE Create_priv 创建数据库.表或索引 CREATE TEMPORARY TABLES Create_tmp_table_priv 创建临时数据表 ...
- vue-cli 如何修改或删除预设preset记录
preset其实是你在create新vue项目的时候,生成的插件配置项预设,也就是你在项目中需要用到的插件安装成功了之后,会生成一个关于preset的文件,当你再次create新的vue项目的时候,就 ...
- 接口参数校验(不使用hibernate-validator,规避大量if else)
引言 编写接口时,常用的参数校验使用hibernate-validator注解+@@Validated注解进行参数校验.当遇到一些特殊场景或需求,需要自己对参数进行手动校验时,会出现以下问题: 不可避 ...
- mysql创建本地用户及赋予数据库权限的方法示例
大家在安装 mysql 时通常会生成一个超级用户 root,很多人之后就一直沿用这一个用户,虽然这会很方便,但超级用户权限太大,在所有地方使用它通常是一个安全隐患. 这一点跟操作系统的用户管理也是类似 ...
- SpringCloud Alibaba 简介
SpringCloud Aliababa简介 SpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案. 微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一 ...
- 对 eval 命令的理解
eval 格式:eval [argument...] 可以二次迭代参数中的引用变量,然后将参数作为命令,在shell中执行 如果是多个参数,那么变量替换之后必须符合某个命令的格式,否则eval会报错& ...
- 害你加班的bug就是我写的,记一次升级Jenkins插件引发的加班
主旨 本文主要记录了下Jenkins升级插件过程中出现的场景,一次加班经历,事发时没有截图,有兴趣可以看看. 起因 需求 最近有个需求:在Jenkins流水线中完成下载Git上的文件简单修改并提交的功 ...
- C#网络编程入门之TCP
目录: C#网络编程入门系列包括三篇文章: (一)C#网络编程入门之UDP (二)C#网络编程入门之TCP (三)C#网络编程入门之HTTP 一.概述 UDP和TCP是网络通讯常用的两个传输协议,C# ...
- S32DS编译程序出现Type region `SRAM' overflowed by 19240 bytes错误
用S32DS编译工程遇到Type region `SRAM' overflowed by 19240 bytes错误(芯片为S9KEAZ64AMLH) 程序中未初始化的变量存放SRAM中 当程序出现未 ...