第一章 Python程序语言简介
第一节 Python概述
1. 什么是Python
Python是一种 解释型、面向对象、动态数据类型 的高级程序设计语言。由Guido van Rossum与1989年发明,第一个公开发行版本发行于1991年。像Perl语言一样,Python源代码同样遵循GPL(GNU General Public Licence)协议。
XXX.py(执行文件)
第四节 Python的数据类型
1.具体数据类型
- None(空):
- Number(数字):
- 整数:Python可以处理任意大小的整数,当然也包括负整数,在程序中的表示和数学的写法一样;
- 浮点数(小数):浮点数由整数部分和小数部分组成,在运算的过程中可能会有“四舍五入”的误差
- 复数:由实部(由a表示)和虚部(由b表示)构成,a+bi,其种“i”表示虚数单位
1 # 比较两个数的大小
2 a1 = 100
3 a2 = 9
4 print((a1>a2)-(a1<a2))
5 # 返回1,因为a1>a2=true=1,a1
6 print(abs(a1)) #求a1的绝对值
7 print(max(1,2,3,4,5,6)) #求出数列中的最大值
8 print(min(1,2,3,4,5,6)) #求出数列中的最小值
9 print(pow(2, 6)) #求出2的5次方:2^5
10 print(round(3.35, 2)) #浮点数 保留2位小数的四舍五入
11
12 import math #导入 数学 库
13 print(math.ceil(121.34)) #向上取整 122
14 print(math.floor(121.34)) #向下取整 121
15
16 print(math.modf(23.15)) #返回整数部分和小数部分 (小数部分-浮点型, 整数部分-浮点型)
17
18 print(math.sqrt(16)) #返回4 开平方
19
20 #随机数
21 import random
22 print(random.chioce([1,5,9,3,8,7,6])) #从这些数中随机选取一个数,序列中,可以有字符串等其他类型的数据
23 print(random.chioce(range(5))) #表示从“0,1,2,3,4”中任选一个数
24 print(random.choice("hello world!")) #"hello world!"=['h','e','l','l','o',' ','w','o','r','l','d','!']
25 print(random.randrange(1, 100, 2)) #randrange([start,] stop[, step]) 生成1~100的奇数,[]内的表示可有可无,start默认为0,step默认为1
26 print(random.random()) #随机产生一个[0,1)的浮点数,不能传值
27 print(random.uniform(3,9)) #随机生成一个[3,9]之间的实数
- String(字符串):
- Boolean(布尔):
- List(列表):
1 list = [1,2,3,4,5]
2 random.shuffle(list) #将列表随机排序
3 print(list) #
- Turple(元组):
- Dict(字典):
- Set(集合):
2.标识符
- 定义:一串具有特殊规则的字符串
- 规则:
- 只能由数字、字母、下划线组成;
- 开头不能是数字;
- 不能是Python的关键字
1 # 查看关键字
2 import keyword
3 print(keyword.kwlist)
- 区分大小写
- 见名知意
- 起名遵循驼峰原则
- 作用:给变量、函数等命名
- 注意:在Python3中,非ASCII标识符也是允许的
3.变量和常量
1. 变量:
- 概述:
- 程序可操作的存储空间的名称;
- 程序运行期间能改变的数据;
- 每个变量特有的类型。
- 作用:将不同类型的数据存储到内存;
- 定义变量方式:变量名 = 初始值(为了确定变量的类型);
- 数据的存储:变量名 = 数据值,注意:在变量使用之前必须先定义,否则会报错;
- 删除变量:del 变量名,注意变量删除后,变量将不能再引用(相当于没有定义该变量);
1 # 交互式定义变量
2 num1, num2 = 36, 48
2. 常量:程序运行期间不能改变的数据
第五节 运算符和基本语句
表达式:由变量、常量和运算符组成的式子
阅读表达式:功能(进行相关符号的运算,不会改变变量的值)、值(运算结果)
1. 运算符
- 算术运算符:+、-、*、/、%(取余,模)、**(求幂)、//(整除-取整)、++(自增)、- -(自减)
- 关系运算符:==、!=、>、<、>=、<=
- 赋值运算符:=
- 格式:变量 = 表达式
- 功能:计算了“=”右侧表达式的值,并赋值给左侧
4. 复合赋值运算符:+=、-=、*=、/=、%=、**=、//=
5. 位运算符:把其他进制的数转换为二进制进行位运算的运算符,其中包括:
- &(按位与:两者为1,才为1,否则为0);
- |(按位或:两者为0,才为0,否则为1);
- ^(按位异或,两者相同为0,不同为1);
- ~(按位非:取反);
- <
- >>n(右移运算符):二进制数的各位,都向右移动n为,移出的低位舍弃,空白的高位补0
6. 逻辑运算符:and(逻辑与:全都为真才为真)、or(逻辑或:全都为假才为假)、not(逻辑非:取反);逻辑运算符有短路原则,比如说逻辑与,当确定一个为假,则全部为假
7.成员运算符:in(如果在指定的序列中找到值返回True,否则返回False)、not in(如果在指定的序列中没有找到值返回True,否则返回False)
8.身份运算符:is(判断两个标识符是不是引用同一个对象)、is not(判断两个标识符是不是引用不同的一个对象)
运算符的优先级:**(求幂); ~、+(正号)、-(负号); *、/、%、//; +(加)、-(减); >>、<<; &、|、^(异或); <=、<、>、>=; ==、!=、=、%=、+=、-=、//=;is、is not、in、not in、not、 or 、and
1 # 运用逻辑运算符,实现从控制台输入一个年份,判断是否是闰年 2 # 普通闰年:能被4整除但不能被100整除的年份为普通闰年。 3 # 世纪闰年:能被400整除的为世纪闰年。 4 year = int(input("请输入年份:")) 5 6 if year % 4 ==0 and year % 100 !=0: 7 print(year,"是普通闰年!") 8 elif year % 400 == 0: 9 print(year,"是世纪闰年!") 10 else: 11 print(year,"是平年!")
2. if条件语句
当程序执行到 if 语句时,首先计算“表达式”的值,值为真,执行 if 下的语句;值为假,执行else下的语句,如果没有else,跳出 if 语句,继续执行下面语句。
1 # if条件语句的格式 2 if 表达式: 3 执行语句/pass(占行符,什么也不执行) 4 else if 表达式: 5 执行语句/pass(占行符,什么也不执行) 6 else: 7 执行语句/pass(占行符,什么也不执行)
何为真假:假:0、0.0、’’(空)、None、False等,除此之外为真
1 # 从控制台中输入一个三位数,判断,如果该数为“水仙花数(如:153=1^3+5^3+3^3)”,就打印输出“是水仙花数”,否则打印“非水仙花数” 2 sh = int(input("请输入一个三位数:")) 3 a = sh // 100 #百位 4 b = sh % 100 //10 #十位 5 c = sh % 100 % 10 #个位 6 # print(a, b, c) 7 res = a**3+b**3+c**3 8 if res == sh: 9 print("该数是水仙花数", res, "=", a, "^3+", b, "^3+", c, "^3") 10 else: 11 print("该数非水仙花数", res, "!=", a, "^3+", b, "^3+", c, "^3")
1 # 从控制台中输入一个5位数,判断,如果该数为“回文数(如:12321)”,就打印输出“是回文数”,否则打印“非回文数”
2 hui = int(input("请输入一个五位数:"))
3 a = hui // 10000 #万位
4 b = hui % 10000 // 1000 #千位
5 c = hui % 10000 % 1000 // 100 #百位
6 d = hui % 10000 % 1000 % 100 // 10 #十位
7 e = hui % 10000 % 1000 % 100 % 10 #个位
8 if a == e:
9 if b == d:
10 print("该数是回文数:", hui)
11 else:
12 print("该数非回文数:", hui)