文章目录
快速改造:基础知识
为保证linux下正常运行,使用无bom的编辑器
1.3 输入和输出
输出
1 2 |
print(value,...,sep='',end='\n',file=sys.stdout,flush=Flase) |
file:指向输出流,默认指向sys.stdout
sep:输出于值之间,默认为空格
end:输出于最后一个值的末尾
flush:是否强制的向流中输出
print x?
在3.0以前如此,3.0后将print改为函数
输入
1 2 |
input(prompt=None,/) |
raw_input()?
在3.0以前,使用raw_input()函数获得原始数据,input()作为合法类型
以后弃置
1.4 数字和表达式
乘方
1 2 |
pow(x,y,z=None,/) |
两个实参时,计算x**y;三个实参时,计算x**y%z.
除法规则
- 在除法中全都为整数,则为整数结果;否则输出小数
- 使用division模块,(位于future)则只用正常除法
- 或者使用linux命令行Qnew
- 使用//做整除
数字类型
整数后加l/L代表long,0x在前代表十六进制,0在前代表八进制
常用数学函数
1 2 |
abs(x,/) |
对x取绝对值
1 2 |
round(number[,ndigts])->number |
四舍五入,若给ndigtis则保留对应位数,默认整数.
1 2 |
math.floor(x) |
取其下最大整数
1 2 |
math.ceil(x) |
取其上最小整数
1 2 |
math.sqrt(x) |
求算数平方根
1 2 |
cmath.sqrt(x,/) |
求平方根,若为负数,以a+bj的形式返回虚数
1.9 模块
导入模块
1 2 |
import <bag/lib/mod/filename(noextname)> |
导入包\库\模块\文件
1 2 |
from import |
可直接使用ooo调用而非xxx.ooo
可将函数或python中绝大多数对象重命名调用
ps:初步int 类
1 2 3 4 |
class int(object): int(x=0)->interger int(x,base=10)->interger |
- 转换一个数或一字符串为整数,无参数时,返回零
- 如果是整数返回自身,如果是小数,向零取整
- 若非整数或给一基数,则x需要为字符串,字节串和字节数组
- base=0||2<=base<=32;表示进制,当没有base=10时,意味着为十进制
1.10 保存并执行程序
运行方式:
- ide运行
- 命令行运行
- 脚本运行
在linux下防止没有配置python的path
加上
1 2 |
#!/usr/bin/env python |
视情况而定,比如使用版本隔离或者其他版本python
1 2 |
#!usr/local/bin python3.5 |
也有可能
可执行性
在linux下要确保文件可执行
1 2 |
$ chmod a+x |
1.10.3 注释
- #号及其右边都被视为注释
- 可以用\来转移换行符,来跨行注释或跨行输入指令
1.11 字符串初步
引号
python中单引号双引号没有本质区别,字符基本上就是一个字符的字符串
- 特例1:”let’s go!”
- 特例2:”‘Hello world’,she said.”
转义
特殊符号使用\转义
拼接字符串
- 一个字符串接着一个,python会自动以连接的方式显示(中间可以有空格或\回车转义的空格)
- 可以用+的方式拼接字符串
str和repr
1 2 3 4 |
class str(object): str(object='')->str str(bytes_or_buffer[,encoding[,errors]])->str |
- 默认生成”
- 如果有encoding和errors则将bytes_or_buffer解码为str
- 反之调用repr(object)或__str__方法
1 2 |
repr(obj,/) |
- 返回关于此对象权威的字符串,包括很多内建的对象类型
- 在3.0以前,`obj`=repr(obj),3.0后弃用
- eval(repr(obj))=obj
长字符串
使用三个引号代替(无论单双代替),使得内容跨越多行.这种方式内部正常引号无需转义
原始字符串
其中可以加入通常字符串无法加入的内容,一般不可转义,结尾不能使用反斜线,形式为r’addasdaj’
unicode字符串
形式为u’scvdl’,兼容unicode;3.0以后,所有普通字符串都是unicode字符串