【路径】
绝对路径:从根目录开始链接的路径 --->cd C:\Windows\Boot\DVD\EFI\en-US
相对路径:不从根目录开始链接的路径 ----> cd Boot\DVD\EFI\en-US
Python的文件名是以 .py 结尾的
dir是查看当前目录下的文件
cd 路径 跳转到指定路径
cd .. ..代表的是上一级目录
cd 路径 跳转到指定路径
cd .. ..代表的是上一级目录
执行某文件即:Python xxx.py (修改权限 chmod 777 a.py)即可直接输入文件名执行
【注释】
#注释一行
''' '''注释多行 ---> 三个双引号也是注释
'''
111111
222222
333333
'''
'''
111111
222222
333333
'''
输出:print("hello Python")
多行输出: print("hello Python","111111","222222")--->即逗号分隔 遇到一个逗号会显示空格
print(18)
print(10+8)可以运算
print("10+8=",18)自定答案
print(10+8)可以运算
print("10+8=",18)自定答案
input 作用:从外部获取变量的值(阻塞输出)等待输入 直接输入 输入的内容保存在age里
age = input()
print("age =",age)
print("age =",age)
如:age = input("请输入您的年龄:") --->里面为提示
print("age =",age)
print("age =",age)
Python 数据类型:number(数字):整数,浮点数(小数),复数
string字符串
boolean布尔值(真和假)
none(空置)
list(列表)
tuple(元组)
dict(字典)
set(集合)
string字符串
boolean布尔值(真和假)
none(空置)
list(列表)
tuple(元组)
dict(字典)
set(集合)
【标识符】
标识符:是字符串,但字符串未必是标识符
规则:只能是字母,数字,下划线组成
开头不能是数字
不能是Python的关键字(环境输入import keyword print(keyword.kwlist)即可查看关键字)
区分大小写
见名知意
遵循驼峰原则:首单词是正常的,从第二个单词开始首字母大写
开头不能是数字
不能是Python的关键字(环境输入import keyword print(keyword.kwlist)即可查看关键字)
区分大小写
见名知意
遵循驼峰原则:首单词是正常的,从第二个单词开始首字母大写
作用:给变量,函数等命名
注意:在Python3中,非ASCII标识符也是允许的
【变量和常量】
变量:程序可操作的存储空间名称
程序运行期间能改变的数据
每个变量都有特定的类型
程序运行期间能改变的数据
每个变量都有特定的类型
作用:将不同类型的数据储存到内存
定义变量:变量名=初始值 初始值:为了确定变量的类型
age=0 即定义
age=0 即定义
数据的存储:变量名=数据值
注意:变量在使用前必须定义,否则报错
注意:变量在使用前必须定义,否则报错
eg:num1 = input("请输入一个数字") --->3
num2 = input("请再输入一个数") --->4
print("num1 + num2 = ",num1 + num2)
输出为:34
num2 = input("请再输入一个数") --->4
print("num1 + num2 = ",num1 + num2)
输出为:34
eg:num1 = int(input("请输入一个数字")) --->3
num2 = int(input("请再输入一个数")) --->4
print("num1 + num2 = ",num1 + num2)
输出为:7
num2 = int(input("请再输入一个数")) --->4
print("num1 + num2 = ",num1 + num2)
输出为:7
删除变量:del+变量名 (程序执行过程是自上而下顺序)
查看变量的类型:
print(type(age))
查看变量的地址:
print(id(age))
常量:程序运行期间不可改变的数据。
--------------------------------------------------------------------------------------------------------------------------------------------------------
【数字类型】
Python可连续定义多个变量
num1=num2=num3=1
print(num1,num2,num3)
可交互式赋值定义变量
num6,num7 = 6,7
print(num6,num7)
浮点数:浮点型由整数部分和小数部分组成,浮点数运算可能会有四舍五入的误差。
f1 = 1.1
f2 = 2.2
print(f1 + f2)
复数;实数和虚数部分组成的
数字类型转换
print(int(1.9))------>1
print(float(1))----->1.0
print(int(123))----->123
print(float(12.3))----->12.3
print(int(+123))----->123 #符号放在数字前面才有用
print(int(-123))----->-123
返回数字的绝对值
a1 = -10
a2 = abs(a1)
print(a2)----->-10
比较两个数的大小
a3 = 100
a4 = 9
print((a3>a4)-(a3<a4))------->1
a3 = 1
a4 = 9
print((a3>a4)-(a3<a4))------->-1
总结:前数大于后数即为1 反之为-1
找出上面两个数最大值最小值
print(max(a3,a4))
print(min(a3,a4))
求x的y次方
求2^5如下
print(pow(2,5))
round四舍五入 针对浮点数
print(round(3.456))---->3
print(round(3.556))--->4
print(round(3.556,2)---->3.56
print(round(3.556,1)---->3.6
import math (math:数学相关的库)
print(math.ceil(18.1))----->19
print(math.ceil(18.9))----->19 (向上取整)
print(math.floor(18.1))----->18
print(math.floor(18.9))----->18(向下取整)
print(math.modf(22.3))---->0.3 , 22.0 (返回整数部分与小数部分)
print(math.sqrt(16))----->4.0 (开方)
import random (random:随机数的方法)
print(random.choice([1,3,5,7,9,"aa","bb"]))------->从序列中元素中随机拿出一个元素
print(random.choice(range(5)))--->有0,1,2,3,4这几种可能 range(5) == [0,1,2,3,4,] range(6) ==[0,1,2,3,4,5]
print(random.choice("sunck"))--->[ "s","u","n","c","k"]
产生一个1-100之间的随机数
r1 = random.choice(range(100)) +1
print(r1)
从指定范围内,按指定的基数递增的集合中选取一个随机数
random.randrange([strat,]stop[,step])
start指定的范围开始值,包含在范围内
stop指定范围的结束值,不包含在范围内
step指定的递增基数
print(random.randrange(1,100,2)) 取的随机数在1-100之间 2 以2为基数递增选取
从0-99选取一个随机数
print(random.randrange(100))
随机生成[0-1]之间的数(浮点数)
print(random,random())
将序列的所有元素随机排序
list = [1,2,3,4,5]
random.shuffle(list)---->[2,1,5,3,4]
print(list)
随机生成一个实数,范围在[3-9]并包含两数
print(random.uniform(3,9))
-------------------------------------------------------------------------------------------
【运算符与表达式】
表达式:由变量、常量和运算符组成的式子
算术运算符和算术运算表达式
算术运算符:
+ - * / % ** //
加 减 乘 除 取余 求幂 取整
赋值运算符和赋值运算表达式
赋值运算符 =
赋值运算表达式 格式: 变量 = 表达式
位运算符:按位运算符是把数字看成二进制数来进行计算。【8421法】
& 按位 与 运算符
相应的位数都为1,则该位的结果是1,否则为0
print(5 & 7)-------->5
101
111
------
101
| 按位 或 运算符
两个二进制位有一个位1时,结果为1
print(5 | 7)------->7
^ 按位 异或 运算符
二进制的两位不同时为1,相同为0
print(5 ^ 7)------->2
~ 按位 取反 运算符
每个二进制数据位取反
print(~5)------>-6
<< 左移动运算符
各二进制位全部左移动若干位,由<<右侧的数字决定,高位丢弃,低位补0
print(2<<2)------>8
00000010
00001000
>> 右移动运算符
各二进制位全部右移动若干位,由>>右侧的数字决定,低位丢弃,高位补0
print(13>>2)------>3
0000001101
0000000011
关系运算符和关系运算表达式
== != < > >= <=
关系运算表达式
格式: 表达式1 关系运算表达符 表达式2
功能: 计算“表达式1”和“表达式2”的值
值:如果关系成立,整个关系运算表达式的值为真,否则为假。
逻辑运算符 and or not
逻辑与 and
逻辑与运算表达式: 表达式1 and 表达式2
值:
1:如果表达式1的值为真,表达式2的值也为真,整体逻辑与运算表达式的值为真
2:如果表达式1的值为真,表达式2的值也为假,整体逻辑与运算表达式的值为假
3:如果表达式1的值为假,表达式2的值也为真,整体逻辑与运算表达式的值为假
4:如果表达式1的值为假,表达式2的值也为假,整体逻辑与运算表达式的值为假
逻辑或 or
逻辑或运算表达式: 表达式1 or 表达式2
值:
1:如果表达式1的值为真,表达式2的值也为真,整体逻辑或运算表达式的值为真
2:如果表达式1的值为真,表达式2的值也为假,整体逻辑或运算表达式的值为真
3:如果表达式1的值为假,表达式2的值也为真,整体逻辑或运算表达式的值为真
4:如果表达式1的值为假,表达式2的值也为假,整体逻辑或运算表达式的值为假
逻辑非 not
逻辑非运算表达式: not 表达式
值:
1:如果表达式的值为真,整体逻辑非运算表达式的值为真
2:如果表达式的值为假,整体逻辑非运算表达式的值为假
成员运算符
in:如果在指定的序列中找到值返回True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
身份运算符
is:判断两个标识符是不是引用同一个对象
not is : 判断两个标识符是不是引用不同的对象
运算符优先级
**
~ + - (正负号)
* / % //
+ -(加减)
>> <<
&
^ |
<= < > >=
== !=
= %= += -= //=
is not is
in not in
not or and
短路原则
and :表达式1 and 表达式2 and 表达式4 and ........and 表达式n (有一个是假,即全为假)
or :同上 (一个为真即为真)
复合运算符
+= a += b a = a + b
-= a -= b a = a - b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b
**= a **=b a = a ** b
//= a //=b a = a // b
if 语句
格式:
if 表达式:
语句
逻辑:当程序执行到if语句时,首先计算“表达式”的值,如果“表达式”的值为真,那么就执行if下的“语句”。如何“表达式”的值为假,则跳过整个if语句继续向下执行。
何为真假?
假: 0 0.0 '空的字符串'' None False
除了假就是真
if - else语句
格式:
if 表达式:
语句1
else:
语句2
逻辑:当程序执行到if-else语句时,首先计算“表达式”的值,如果“表达式”的值为真,则执行“语句1”。执行完:语句1“就跳出整个if-else语句。如果”表达式"为假则执行“语句2”,执行完则跳出整个if-else语句。
----------------------------------------------------------------------------------------------------------------------------------------------
作业:#不准使用 max min
1:从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数“ .eg:153=1^3+5^3+3^3
num = int(input("请输入一个三位数"))
a = num % 10
b = num // 10 % 10
c = num // 100
if num ==a**3 + b**3 + c**3:
print("是水仙花数")
else:
print("不是水仙花数")
2:从控制台输入一个五位数,如果是回文数就打印“是回文数”,否则打印“不是回文数“ .eg:11111 12321 12221 对称。
num = int(input("请输入一个五位数"))
a = num % 10
b = num // 10 % 10
c = num // 1000 % 10
d = num // 10000
if a == d and b == c:
print("是回文数")
else:
print("不是回文数")
3:从控制台输入两个数,输出较大的值。
num1 = int(input("请输入第一个两位数"))
num2 = int(input("请输入第二个两位数"))
if num1 > num2:
print("较大的数是",num1)
else:
print("较大的数是",num2)
4:从控制台输入三个数,输出较大的值。(思想为:上面比较两个数的大小)
num1 = int(input("请输入第一个两位数"))
num2 = int(input("请输入第二个两位数"))
if (num1>num2) - (num1<num2) == 1:
print("较大的数是",num1)
else:
print("较大的数是",num2)
5:从控制台输入一个年份,判断是否是闰年。
#能被4整除但不能被100整除 或 能被400整除的
year = int(input("请输入任意年份:"))
if (year % 4 == 0 and year % 100 !=0) or year %400 ==0:
print("是闰年")
else:
print("不是闰年")