一、python类型判断
type,isinstance
type(变量或常量):返回数据类型
a = 23.3
print(type(a))
b = 2e3
print(b, type(b))
输出:
2000.0
isinstance(变量或常量,数据类型名) 判断数据类型。如果是指定数据类型返回true,否则返回false
a = 10
if isinstance(a, int):
print(“a是整型”)
二、python数据类型分为内置类型(语言本身支持的类型)和自定义类型,类(class)。
常用的内置类型包括:
1.数值类型
整数int,表示整数类型。例如:3,4,5
浮点数float,代表实数。有2中写法:自然表示法和科学计数法
自然表示法:2.3,4.5
科学计数法:2e2表示200.e是指以10为底的指数,e后边必须跟一个整数
a = 23.3
print(type(a))
b = 2e3
print(b, type(b))
输出:
2000.0
复数complex 2+3j
c = 3 + 2j
print(c, type(c))
输出:
(3+2j)
2.布尔类型
布尔类型表示真假、对错、阴阳等,只要是两种状态的都可以用布尔类型表示。它有两个值:True(1)和False(0)
数值和布尔能进行的算数运算
a = 3
b = 3.5
c = True
print(a + c)
print(c * 5)
3.字符串类型
用引号引起来的就是字符串
’单引号字符串‘
‘双引号字符串’
”’
多行字符串
”’
“””
多行字符串
“””
转义字符串 ,如果单引号中包括了一个单引号那么需要对里面的单引号转义
转义字符描述转义字符描述
\’表示一个普通字符单引号
\r回车
\”表示一个普通字符双引号
\n换行
\”’一个普通的三单引号
\\一个普通的字符
\\”””一个普通的三双引号
\ttab键
三、运算符和表达式(表达式没有值)
1.算术运算符包括:+ – * / //(整除) %(取模,取余数) **(指数)
模运算符的用途:判断奇偶,判断是否能够整除,最大公约数,水仙花数
2.函数
数学函数
随机函数
随机函数引入random库
import random
print(random.randint(1,100)) 1到100之间的随机整数,前包后包
print(random.random()) 0到1之间的随机小数,前包后不包
print(random.randrange(1,100,2)) 1到100之间以2为步长输出随机数,前包后不包
输出:
33
0.05559590353134125
21
3.赋值运算符
= += -= *= /=
赋值运算符左边必须是变量
4.关系运算符
关系运算符就是比较运算符,结果是布尔值
5.逻辑运算
逻辑与、逻辑或、逻辑非
and 、or 、not
and a and b a为真,值为b的值。否则为a 的值。2个同时为真才为真
print(8 and 0)
print(8 and ‘hello’)
print(0 and 8)
print(None and ‘ooo’)
print(0 and None)
输出:
0
hello
0
None
0
python中 ”,0,None,false 表示假,其他均为真
or a or b a为真,值为a的值,否则为b的值。2个中有一个为真就为真
print(1 or 0)
print(None or 1)
print(‘hello’ or ”)
输出:
1
1
hello
not not a a为真,输出为假
短路计算
逻辑与中 a and b 中,a为假,则不计算b的值
逻辑或中a or b 中,a为真,则不计算b的值。
优先级:
not > and > or
数据类型的转换:
不同数据类型是无法进行运算的,需要转换为同一数据类型
python中,int float bool三种类型是可以自行转换的,不需要转换,但是字符串不行。
练习:
1.将华氏温度转换为摄氏温度
C = float(input())
F = 1.8 * C + 32
print(F)
2.求解一次方程ax+b=0,输入a和b的值,求解x
a = int(input(“请输入一次方程的系数a:”))
b = int(input(“请输入一次方程的常量b:”))
print(“一次方程 %dx+%d=0 的根是:x=%d” %(a, b, (0 – b)/a))
输出
请输入一次方程的系数a:2
请输入一次方程的常量b:6
一次方程 2x+6=0 的根是:x=-33.编写一程序,接收从键盘上输入的2个学生的姓名、数学成绩、计算机成绩,粉笔存入6个变量中,然后打印出这2个学生的姓名和总成绩
name1 = input(“请输入同学a的名字:”)
name2 = input(“请输入同学b的名字:”)
core1 = float(input(“请输入同学a的数学成绩:”))
core2 = float(input(“请输入同学b的数学成绩:”))
core3 = float(input(“请输入同学b的计算机成绩:”))
core4 = float(input(“请输入同学b的计算机成绩:”))
core_all = core1 + core2 + core3 + core4
print(“同学%s和同学%s的总成绩为:%.0f” %(name1, name2, core_all))
print(“同学%s和同学%s的总成绩为:%.2f” % (name1, name2, (core1 + core2 + core3 + core4)))
4.编写一程序,对用户输入的两个数据a和b,输出交换后的a和b的值
a = int(input(“请输入值a:”))
b = int(input(“请输入值b:”))
a, b = b, a
print(“分别输出a和b的值:%d,%d” %(a, b))
5.从控制台输入2个数,输出较大的值
a = int(input(“请输入值a:”))
b = int(input(“请输入值b:”))
print(“请输出最大值:%d” % max(a, b))
6.从键盘输入一个整数,判断这个数能否被3整除
a = int(input(“请输入值a:”))
if a % 3 ==0:
print(“能被3整除”)
7.从键盘输入一个3位数,求这三位数各个数字的和
a = int(input(“请输入三位整数a:”))
gewei = a % 10
shiwei = a // 10 % 10
baiwei = a // 100
print(“各个位数之和为:%d” % (gewei + shiwei + baiwei))
8.从控制台输入一个三位数,如果是水仙花数,就打印 “是水仙花数”,否则打印“不是水仙花数”
a = int(input(“请输入三位整数a:”))
gewei = a % 10
shiwei = a // 10 % 10
baiwei = a // 100
if gewei**3 + shiwei**3 + baiwei**3 == a:
print(“是水仙花数”)
else:
print(“不是水仙花数”)