一. 整数、浮点数的运算规则
- 整数之间的加减乘运算,结果是整数,除法运算,结果是浮点数
- 有浮点数的运算都是浮点数
n = 1;
m = 2;
result=m/n;
print (result,type(result)) # type()返回数据的类型
运行结果:
3. 浮点数计算会有误差,因为浮点数的尾数位数是有限的
二、字符串格式str
str的定义
#单引号里面的也是str类型,单双引号可以混用
str_test1 = "hhhh1"
str_test2 = 'hhhh2'
print("str_test1 is", type(str_test1),"\nstr_test1 is", type(str_test2))
# 转义符:\ 制表符: \t 换行符: \n
运行结果:
str常用函数
#str的成员函数title()、upper()、lower()
#str的成员函数,去除空格rstrip(),lstrip,strip()
str_test = " Mail LEe "
print("str.title=",str_test.title(),"END") # 首字母大写,其余小写
print("str.upper=",str_test.upper(),"END") #大写
print("str.lower=",str_test.lower(),"END") #小写
print("str.rstrip=",str_test.rstrip(),"END") #去掉右边的空格right
print("str.lstrip=",str_test.lstrip(),"END") #去掉左边的空格left
print("str.strip=",str_test.strip(),"END") #去掉字符串前后的空格
运行结果:
s1 = "120"
s2 = "3.1415926"
f = float(s2) #用float()进行强制类型转换,int()函数同理
i = int(s1)
print("i+f", i+f)
print("s1+s2", s1+s2) #s1+s2为字符串的连接
math模块
import math #导入一个math的模块
print(math.floor(69.3)) #向下取整
print(math.ceil(69.3)) #向上取整
print(math.sqrt(9))
from math import sqrt #导入模块的另一种方法,这种sqrt()可以直接用的,
#不用加math.,但会污染命令空间
print(sqrt(16))
输入
#input()永远返回str类型,需要进行强制类型转换
#input("What is your name?")
格式化输出
#格式化输出
sText = "%d个猫单价是%.2f元,%d只猫的价格是:%.1f元"%(1,100.53,2,201.06)
# %.1f保留一位小数,%d 整数 %s字符串输出
print(sText)
运行结果:
列表
#列表定义ListName = [, , ],
#列表长度len(ListName)
#按下标访问ListName[],可以是ListName[-1]表示倒数第几个
"""
正序: 0 1 2 3 4
对应倒序: -5 -4 -3 -2 -1
"""
listTest = ["one","two", "three","four"]
print("original listTest is:",listTest)
#append()列表的成员函数 末尾加上元素
#insert( , )增加元素,insert(2 ,"male"),python里面双引号和单引号是一样的
# del ListName[2],删除 ListName[2]这个元素
#pop()函数,弹出列表尾部的函数
listTest.append("five")
print("\nafter append(\"five\")",listTest)
listTest.insert(1,"TWO")
print("\nafter insert(1,TWO)",listTest)
del listTest[2]
print("\nafter del two",listTest)
listTest.pop()
print("\nafter pop()",listTest)
运行结果:
#列表的嵌套类似二维数组
#列表的名字绑定,一个列表取两个名字
#list的成员函数sort()
# 排序sort(),默认升序,sort(reverse = ture)是降序
#sort(key = len),按照字符长度排序
#普通排序函数sorted(),返回新的列表,不改变原来的列表 ,不是成员函数
listTest = ["one", "two", "three", "four"]
listTest.sort(reverse = True)
print(listTest)
listTest_sorted = sorted(listTest) #sorted()函数 调用后,不会改变原来的函数的顺序
print(listTest)
print(listTest_sorted)
#成员函数reverse()倒序
listTest.reverse()
print("after reverse",listTest)
运行结果:
range(5) 相当于[0,1,2,3,4],但它是range()格式的,可以用list()可以将它转为列表
range(1,10,3)相当于[1,4,7],range(x,y,z)表示从x开始增加z,最后的结果必须小于y,不能等于y,
z可以是负数,但必须是整数
#列表统计,sum(),max(),min()
listTest = [1, 2, 4 , 8]
sum(listTest)
MaxElement = max(listTest)
#列表的快速生成
cubes = [x**3 + 100 for x in range(1,5) ] #函数法
matrix = [[0,1]*3]*2 #乘法重复地生成矩阵
matrixFast = [[r+c for c in range(5)] for r in range(4)]
matrixFast1 = [x+y for x in "abc" for y in "123"] #双重循环,遍历字符串
#列表的运算
# + 将元素连接起来
language = ["c","c++","pascal"]
print(language + ["python", "Ruby"])
print([1,2] + [3,4])
# * 重复n遍
#列表的查找
print("la" in "language", "la" not in "language")
#列表的成员函数
#list.count()、list.clear()、list.append(把里面的元素直接加进去)、
#list.extend([],参数是列表,把列表拆成元素,再添加进去)
#list.index():寻找下标值,多个就返回第一个值
#list.remove():删除元素,多个就删除第一个
运行结果:
``
#列表的复制
#等号是名字绑定,,用list.copy()进行列表的复制
#id()返回列表的地址
listTest = [4, 5, 5, 4, 5]
listCopy = listTest.copy()
listAssign = listTest
print(id(listTest), id(listAssign),id(listCopy) )
#列表listTest 和listAssign的地址相同,是同一列表的不同名称,比如:
del listAssign[0]
print(listTest) #删除listAssign[0]后,listTest[0]也被删除了
运行结果
列表切片
#用切片可以方便的特定序列的列表元素
numbers = [x for x in range(10)]
print("numbers[3:9]", numbers[3:8]) #访问下标3-8,不包含8
print("numbers[3:]", numbers[3:]) #访问下标3-末尾
print("numbers[3:9:2]", numbers[3:9:2]) #访问下标3,每次加上2,不超过九
numbers[3:5] = 12,13,14 #用切片改变某些元素的值
print(numbers)
运行结果
常见符号
pass 占位语句,相当于C语言中的 ;空语句
control+[ 缩进快捷键
// 整除(向下取整)
+=、-=、/=、*= 同C语言
% 求模
>= 、!=、and 、or、not
** 幂 同pow()函数
pow(a,b) a的b次幂
abs()绝对值
round()四舍五入
以0x开头 十六进制,hex()十六进制函数,%x 十六进制的占位符
0b二进制,bin()二进制函数