Python实训day01am【开发入门、环境搭建、Jupyter使用、基础语法】

目录

1、课程要求

1.1、课程介绍

1.2、课程目标

1.3、文字记录

1.3.1、环境搭建

1.3.2、搭建环境

1.3.3、检测开发环境

1.3.4、path环境变量

1.3.5、python语法 

1.3.6、python两种执行代码的方式

1.3.7、Jupyter使用

2、软件Anaconda下载与安装

2.1、python基础语法测试

3、Jupyter使用

4、python基础语法(变量、控制、循环)

4.1、截图

4.2、代码-第1天上午-基础语法.html


1、课程要求

上课时间:上午8:30-12:00;下午2:30开始。

1.1、课程介绍

Python 开发入门   15天

  1. 基础语法:环境搭建、语法规则、函数的编写、字符串操作、集合使用、IO流等等。
  2. 面向对象编程:类、对象、属性、函数、构造等。
  3. 经典使用场景:网络爬虫、数据分析处理-Excel、图像处理。(Python语法简洁简单、库丰富;中小型项目、插件)

1.2、课程目标

  1. 掌握基础的Python开发;(师傅领进门,可以进行下一阶段的独立学习)
  2. 提升编程能力和编程思维;
  3. 提升解决问题的能力。

1.3、文字记录

大家要尽量多动手操作,提升代码量;多主动思考,提升逻辑思维。

========================

自我介绍:马老师...

========================

1.3.1、环境搭建

做开发(java\c\js等)的第一步就是搭建开发环境,请问搭建开发环境是干啥的?

高级语言(java\c\python等编程语言)和机器语言(指令集 二进制序列)

打印:1.(高级)print;2.(机器)1011010111000

print ------ 翻译/编译/解释 --------> 1011010111000 -------> 才能执行

安装一个编译器/解释器,将高级语言翻译成对应的机器指令。

1.3.2、搭建环境

编译器+IDE工具:(类比java: jdk + Eclipse/IDEA  )

方式1:
    官网下载python解释器:https://www.python.org/ftp/python/3.10.1/python-3.10.1-amd64.exe
    
    IDE:
        ---记事本开发(中小型项目、插件,使用记事本还是比较方便直接的)
        ---Sublime Text3 (有语法提醒的,高级记事本)
        ---Pycharm等
    以上3种,均可【推荐第二个】
    
方式2:
    直接安装 Anaconda软件 
        --集成了python解释器
        --集成了丰富的IDE开发工具

十分钟时间:下载安装anaconda

注意:1、无论装c盘或d盘,路径中不要有中文;2、有一个勾选的地方,不要忽略了。

1.3.3、检测开发环境

jdk--->dos 输入java或javac来检测

python--->dos 输入python来检测
    正确:进入到交互模式,按Ctrl+Z退出

    错误:python不是内部或外部命令,也不是可运行的程序

1.3.4、path环境变量

为什么安装python后输入python可以有结果,但是我安装Chrome浏览器后,输入Chrome没有结果?
(我如何让输入chrome,也有反应)

python 有结果,说明有程序执行了。
where 指令,where python就可以查看执行的是哪一个程序。

在dos中输入的指令,都对应着某个目录下的一个可执行文件。

===========================

那么,dos是如何从那么多个目录中,找到我们的python.exe呢?

Path环境变量的作用。

在dos中输入的指令,不会整个盘符去查找,而是只会查找path环境变量中所指定的那些目录,如果找到就执行;如果找不到就报错。

==========================
chrome.exe文件,不在path所指定的那些目录中。
可以通过添加path环境变量的方式,将chrome所在目录加入。这样在dos中输入chrome就可以打开浏览器。

1.3.5、python语法 

python语法
    python:
        1、交互模式
        2、执行.py

    java:
        通过javac编译.java,通过java来执行.class,没有交互模式

解释型的语言:
    逐行翻译,逐行执行
    python \js \sql

编译型的语言:
    整体(整个文件)编译,整体执行
    java \ c

编译型的语言,是没有交互模式的,不支持一行一行执行的    

1.3.6、python两种执行代码的方式

    1、交互模式
        优点:所写即所得,立即看到结果。
        缺点:写的东西不能留存;也不成整体(简短的代码的测试)。

    2、.py文件:功能开发,还是要写在文件中。

1.3.7、Jupyter使用

anaconda中有非常丰富的IDE环境:
    1、Jupyter【上课演示使用】
        是一个基于网页的比较高级的交互模式,可以有代码留存
    2、Spider

2、软件Anaconda下载与安装

Anaconda详细安装及使用教程(带图文) anaconda下载地址:https://www.anaconda.com/products/individual

  

 

安装好Anaconda后,浏览器弹出如下两个网址:

  1. Anaconda | Installation Success
  2. Anaconda Nucleus

   

2.1、python基础语法测试

3、Jupyter使用

  

 

 

 

4、python基础语法(变量、控制、循环)

4.1、截图

 

  

  

 

4.2、代码-第1天上午-基础语法.html

print("hello world")
hello world
#基础语法
变量、数据类型、运算符、流程控制
函数
java\c\js 都是这个套路

代码--》运算
有运算,就得先有数据,先有地方存数据
@1、变量:存数据
@2、哪些数据:数据的种类、数据类型
@3、数据的运算:运算符
@4、运算逻辑:流程控制(if while for等)
@5、函数:让代码结构更简单

#高级应用
集合、异常处理、IO流、网络编程、多线程

#语言特性
面向对象

#重要应用,熟练掌握
字符串操作、集合操作
#弱数据类型,变量不需要指定数据类型
a = 1;
a = True;
a = 1.0;
#一会是整数,一会是布尔,又是小数
print(a)
1.0
#对照java,不能这样写的
java是强数据类型语言,变量必须指定类型,变量的类型不能变化

#js,也是弱数据类型语言

弱数据类型优点是灵活,写法方便,但是不利于构建大型工程!
#整数 、小数、布尔、字符串、各种集合

#字符串
a = "123";
a = '123'; #一样的
print(a)
123
#三引号,支持换行
a = '''jkdajlflka
akjjdflaklj
dfjlkadjf
djalfj''';
print(a)
jkdajlflka
akjjdflaklj
dfjlkadjf
djalfj
#java中定义字符串,必须使用双引号;单引号表示单个字符char
#python不存在单个字符char的说法,统统都是字符串【类似js】

# str --- int 互相转换

a = "123";
#a = a+1; # 报错,字符串拼接时,+号的前后必须都是字符串
a = a+str(1); #str内置函数,可以将对象转换为字符串
print(a);#1231

a = "123";
a = int(a)+1; #int : 将字符串转为整数,然后整数相加
print(a);124
1231
124
124
a = True; #布尔类型首字符大写 True  False

a = str(a);#将布尔转成字符串
print(a=='True')
True
#字符串的斜杠问题

#定义一个字符串,内容是单斜杠

a = '\';'
print(a); # ';

# \和后面的字符连在一起,表示特殊含义。
#   \'---》单引号不再是字符串的结束了,而就表示一个单引号的内容。

a = '\\';
print(a)

#\\反斜杠和后面的反斜杠结合,表示后面的\就只表示内容,不再具有特殊含义。
';
\
特殊的转义字符:
\n 换行
\r 回车
\t tab制表符
\b \f \' \" \\ 等
a = 'C:\Users\qx\Desktop\python\a.txt';
print(a); #请问打印的结果是什么??

#java: 没有\U \q \d \p \a等这些写法,\不能与它们完成组合,所以编译报错
#python :
    #python字符串可以写\u,但是\u后不能乱写
  File "<ipython-input-16-6e78d88793ff>", line 1
    a = 'C:\Users\qx\Desktop\python\a.txt';
       ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
a = 'C:\\Users\\qx\\Desktop\\python\\a.txt';
print(a)
C:\Users\qx\Desktop\python\a.txt
#python 中的\u
# \u后跟4位16进制数字,表示一个字符的Unicode码
# java中也是支持这样的写法

a = "\u4e20"  
print(a); #打印出来,就是这个字符

a = '䎕'
print(a);
丠
䎕
#关于字符串的r  【推荐方式】
a = r'C:\Users\qx\Desktop\python\a.txt';#所以字符都不具有特殊含义,都是普通内容
print(a);
C:\Users\qx\Desktop\python\a.txt
a = r'1\n2\n3';
print(a)
1\n2\n3
#运算符
与java大体相同
算术、比较、逻辑、赋值、位、移位等
print(5/2);
print(5//2);#地板除   floor  向下取整
2.5
2
# 与: and
# 或: or
# 非: not
print(5>3 or 3<1)
print(not 3<1)
True
True
a = b = 3;
print(a);
3
# 赋值运算符是有结果值的!!!!【python有待商榷】

a = (b=3)+1;#报错,但是java是可以的
print(a)
  File "<ipython-input-53-5ef227cb749f>", line 3
    a = (b=3)+1;#正确
          ^
SyntaxError: invalid syntax
a = 1;
a++;#不支持自增或自减
  File "<ipython-input-54-506f76a559a1>", line 2
    a++;
       ^
SyntaxError: invalid syntax
a = 5>3? 5:3; #三元运算符,不支持这样写 【写法后面介绍】
  File "<ipython-input-55-ddfa3a94055b>", line 1
    a = 5>3? 5:3;
           ^
SyntaxError: invalid syntax
#流程控制
a = int(input("请输入一个数字")); #获取用户输入,注意类型转换

#代码块不再通过大括号{}来表示,而是通过 冒号+层级缩进indent 表示
#     没有特别限制缩进几个空格或几个tab,自身统一即可

if a%2==0:
    print('偶数');
    print('oushu');
    print('Ou');
else:
    print("奇数");
请输入一个数字122
偶数
oushu
Ou
# else if ----> elif

a = int(input("请输入一个数字"));
if a>0 :
    print('正')
elif a<0:
    print('负')
else:
    print('零')
请输入一个数字0
零
#while
# 1+....+100的和

sum = 0;
i=1;
while i<=100:
    sum = sum+i;
    i=i+1;

print(sum);
5050
#for,与java或js中的for不同
    #更像foreach,遍历某个集合/范围。
    #for 变量 in 集合/范围

ay = [1,2,3,4,5,6,7,8,9,10];# list,相当于java中的list
sum = 0;
for a in ay:
    sum = sum+a;

print(sum);
55
#1+....+100
#range 内置函数,可以得到某个范围内的数字
range(100) #[0,99]
range(101) #[0,100]
range(10,20) #[10,19]

sum=0;
for a in range(100):#取出范围(集合)中的每一个数字,累加到sum上
    sum = sum+a;
    
print(sum) #4950
4950
下午的课程,是主要以练习和作业为主,讲解可以就一个小时左右!!
  1. 冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序、希尔排序、桶排序、基数排序,新年帮您排忧解难。
  2. 有向图、无向图、有环图、无环图、完全图、稠密图、稀疏图、拓扑图,祝您新年宏图大展。
  3. 最长路、最短路、单源路径、所有节点对路径,祝您新年路路通畅。
  4. 二叉树、红黑树、Van Emde Boas树、最小生成树,祝您新年好运枝繁叶茂。
  5. 最大流、网络流、标准输入流、标准输出流、文件输入流、文件输出流,祝您新年顺顺流流。
  6. 线性动规、区间动规、坐标动规、背包动规、树型动规,为您的新年规划精彩。
  7. 散列表、哈希表、邻接表、双向链表、循环链表,帮您在新年表达喜悦。
  8. O(1)、O(logN)、O(N)、O(NlogN)、O(N^2)、O(N^3)、O(2^N)、O(N!),祝您新年渐进步步高。
  9. 费马、欧几里得、欧拉、哈密尔顿、图灵,各路大神新年助您一臂之力,愿您紫气东来,风调雨顺!
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值