Python 的一些用法
说在前面
最近脑子一抽去学Python了,感觉自己好智障。Python很多东西都和C++不一样,所以特意记录下来。
输入输出
input()和raw_input()
简单的说,input()读入的是数字,而raw_input()读入的是字符串。
然后神奇的就是input()其实是可以读入字符串的,不过必须要用
''
或者""
来括起来,不然你就会RE。所以说你就需要用raw_input()来解决读入字符串的问题,input()来解决读入非字符串的问题。
具体用法:
1 | a=input() |
- 但是这里注意的是,如果你读入的是
1 | 123456 YunYuanXiang |
- 那么你就GG了,因为Python只能读一行也就是说,这个读入是错误的。
- 正确的读法是这样的:
1 | 123456 |
空格隔开的正确读法
1 | def splitStr(initStr,splitFlag=' '): |
输出
直接 print 输出就行,一些黑科技会补的
计算
- 在Python中,多了一个
//
计算,这个运算就是直接取整数部分,也就是说,这个计算出来的除法只是答案的整数部分。 - Python还多了
**
计算,这个就是幂运算。a**b
=a^b
. - Python内置高精度,超级方便
标准存储类型
Numbers(数字)
- 数字类型支持:
- int(有符号整型)
- long(长整型,也可以代表八进制和十六进制)
- float(浮点型)
- complex(复数)
String(字符串)
如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
1 | a="Thisisbetter!" |
答案就是 T
这里注意string的""
和''
是一样的。
但是在输出的时候需要,如果有和''
或者""
相同的字符,需要用\
来使用
1 | print 'Hello\'OOO' |
的输出结果是:Hello’OOO
比较好玩的就是'''
这个三引号了。他是把里面的东西原封不动的全部输出出来:
1 |
|
结果
1 | GGG |
List(列表)
列表里面是使用 []
的:
1 | List=[324,-786,2.23,"YYX",70.2] |
List的使用和数组是一样的,都是从0开始的。
List可以输出一段,比如:
1 | print List[1:2] |
就会输出 一段东西,和一个东西
1 | [-786,2.23] |
区别就是有没有带[]
Tuple(元组)
元组和列表是一样的,区别就是不可以修改内容,这里不做讨论。
Dictionary(字典)
字典和结构体差不多是使用{}
来区别的。
具体方法赋值方法有两种:
1 | dist={'Name':'YunYuanXiang',233333:'MMP','size':16} |
结果是:
1 | YunYuanXiang |
Python的一些操作
成员运算符
成员运算符非常的神奇一共有两种操作,分别是
In
和Not in
:在字典里面查找的时候,只能找到索引,没有办法找里面的值。也就是可以找到结构体里面定义的结构,但是没有办法找到里面的值
但是列表就可以寻找里面的值了!而且不仅仅是列表,字符串也支持啊!
1 | dist={'Name':'YunYuanXiang',233333:'MMP','size':16} |
然后实际的输出就是:
1 | In |
强制转换
函数 | 转换内容 |
---|---|
hex(x) #16 | 从十进制转换为十六进制 |
oct(x) #8 | 从十进制转换为八进制 |
bin(x) #2 | 从十进制转换为二进制 |
float(x) | 将x转换为浮点数 |
int(x) | 将x转换为int数 |
long(X) | 将x转换为long数 |
str(x) | 将x转换为字符串 |
eval(x) | 计算并返回有效的计算表达式x |
math函数操作
一定要记得导入模块
1 | import math |
函数 | 返回内容 |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
cmp(x, y) | 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
math.ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
math.exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
math.fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0,返回的一定是一个浮点数 |
math.floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
math.log(x) | math.log(64,2)返回6.0, 底数为2,真数为64 |
max(x1, x2,…) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,…) | 返回给定参数的最小值,参数可以为序列。 |
pow(x, y) | 返回x的y次幂,实际上就是x**y, |
round(x,n) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
math.sqrt(x) | 返回数字x的平方根math.sqrt() |
随机函数操作
还是一样的导入模板。
1 | import random |
函数 | 返回内容 |
---|---|
random.choose(x) | 返回序列x中,任意选择一个值x=range(10)时从1-9任意选择一个数字。 |
random.randrange(x,y,z) | 返回随机生成的整数,在x-y之间,并且是z的整数倍。z可以不填。 |
random.random() | 返回在[0,1)之间的一个实数。 |
random.shuffle(x) | 返回一个完全打乱的数列x。 |
uniform(x,y) | 返回一个随机的实数,范围在x-y之间。 |
三角函数
万恶的三角函数!!!
导入模板
1 | import math |
函数 | 返回内容 |
---|---|
math.tan(x) | 返回x的弧度的正切值。 |
math.cos(x) | 返回x的弧度的余弦值。 |
math.sin(x) | 返回x的弧度的正弦值。 |
math.atan(x) | 返回正切值为x的角度值。 |
math.acos(x) | 返回余弦值为x的角度值。 |
math.asin(x) | 返回正切值为x的角度值。 |
math.pi | 返回π的值。 |
math.e | 返回自然常数e的值。 |
math.degrees(x) | 输入弧度值x返回角度值。 |
math.hypot(x,y) | 输入两直角边x和y,输出斜边长度。 |
radians(x) | 输入角度值x返回弧度值。 |
字符串操作
字符串的格式化输入输出
%s
操作,这个操作的就是在输入很长的字符串的时候,里面有一些变量需要进行输入,就需要用 %s
进行代替。然后后面加上需要代替的变量。
- 举个栗子:
1 | print 'Please input your name:' |
- 所以说,关于格式化:
符号 | 格式化内容 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
这里的所有格式化输出的使用方法和上面的样例是一样的。
Python函数操作
Python的函数操作和C++是差不多的不一样的是Python是不需要声明函数的返回类型的。需要使用关键词 def :
1 | def YunYuanXiang (HaHaHa): |
最后
然后Python就开始不学了QAQ,感觉学了也没有什么用……
不过真的是非常的感叹Python是一个非常强大的语言。就这样然后开始刷题吧……