基础事项
书写格式
输出中文时要在前面加上1
# coding=utf-8
一行结束时不需要 ;符号
也不用声明变量
变量名不能以数字开头,可以包含字母数字下划线
python区分变量名中的大小写
temp = input("guess number") #input返回字符串
guess = int(temp) #把字符串temp转换为整型
str1 = '9'
number = int(str1)
string = str(number)
float1 = float(string)
使用缩进确定if else 确定的代码块
if(guess == 8): #也可以不加括号 if guess == 8:
print ("right")
print ("win")
else:
print ("wrong")
print ("double line")
print ("Over")
BIF =内置函数
python可以直接合并字符串
print ("well water "+"river")
na = "风见"
me = "Cirno" #也可以使用单引号
me2 = 'cirno'
name = na + me
print(name) #会输出风见Cirno
print('let\'s go.') #\是python的转义符 所以输出let's go.
#所以当使用路径时遇到需要输出\时可以使用\\
#例如F:\\Image\\tab
path = 'F:\\Image\\tab'
path2 = r'F:\Image\tab'
path3 = r"F:\Image\tab" #或者在前面加上r 也可以达到相同效果
#均输出为F:\Image\tab
path4 = r'F:\Image\tab\ '#在字符串最后有\时加个空格即可
遇到多行字符串时可以使用三对引号来存储
str = """第一行,
第二行,
第三行,
第四行.
"""
and是python的逻辑连接符
模块
random模块
import random
num = random.randint(1,10) #生成1到10的随机数
random.choice(range(10)) #从序列中随机挑选
math模块
import math
abs(x) #返回数字的绝对值,如abs(-10) 返回 10
ceil(x) #返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) #如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) #返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) #返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) #返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) #如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) #返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) #返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) #返回给定参数的最小值,参数可以为序列。
modf(x) #返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) #x**y 运算后的值。
round(x [,n]) #返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) #返回数字x的平方根
常用
方法
type() isinstance()
num = 5.2
str2 = type(num)
print(str2) #会输出<type 'int'>
#type()的返回值类型有 int str float bool
if(type(number) == str) #可以这么判断类型
print( isinstance(2,int) ) #也可以使用这个
assert关键字
当asset后面的条件为假,程序崩溃并抛出AssertionError的异常
可用于加入检查点
关于copy和deepcopy
deepcopy需要import copy
经过copy操作的两个数据对象拥有不同的得地址空间 ,但是这个数据对象如果是内嵌了其他的复杂数据对象,这个内嵌的数据对象在两个数据对象中拥有相同的地址空间,修改其中的值会互相影响。
经过deepcopy的操作的不管是内层还是外层数据对象都拥有不同的地址空间,修改其中的值不会对两个对象都造成影响
assert 3 > 4
运算操作符
+ - * / %
+= -= *= /= ** #** 代表幂运算
print(3**2) #结果是9
print(-3**2) #结果是-9 **优先级比左侧高,比右侧低
print(3**-2) #结果是0.111111111111
// #对于python3.0 /是正常除法 //是整数除法
对于python
3**10 即310
逻辑操作符
and or not
与 或 非
class Student:
def __init__(self): #这里是类的构造
函数
map() #根据提供的函数对后面的序列做映射
map(float, [1,2,3,4,5]) #对列表各元素转换为浮点型
map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
循环输入的方法
while True:
try:
a,b,c=map(int,input().split()) #python2需要把input()改成raw_input()
print(a+b+c)
except:
break
range() #用于创建一个整数列表
#拥有三个参数 起始 结束 步长
range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)
[]
split() #用于分割字符串
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( ); # 以空格为分隔符,包含 \n
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
int(x [,base ]) #将x转换为一个整数 base为进制表示x是多少进制
int('11',16) #带有进制参数时要使用字符串进行传入
17
long(x [,base ]) #将x转换为一个长整数
float(x ) #将x转换到一个浮点数
complex(real [,imag ]) #创建一个复数
str(x ) #将对象 x 转换为字符串
repr(x ) #将对象 x 转换为表达式字符串
eval(str ) #用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) #将序列 s 转换为一个元组
list(s ) #将序列 s 转换为一个列表
chr(x ) #将一个整数转换为一个字符
unichr(x ) #将一个整数转换为Unicode字符
ord(x ) #将一个字符转换为它的整数值
hex(x ) #将一个整数转换为一个十六进制字符串
oct(x ) #将一个整数转换为一个八进制字符串
Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。 ↩︎