【Python】从入门到入土1

本文概述Python语言的发展,介绍其特点与优缺点,讲解开发环境配置及基本语法,包括变量、数据类型、运算符和常见题型。重点介绍了Anaconda开发环境的使用以及Python在Web后端、数据处理等领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:

笔记是根据老师发的几次的知识点的汇总。如果有错误的地方可以在评论区指正。

目录

Python相关知识

语言的发展历程:

语言的编译和解释:

Python的介绍:

Python的优缺点:

Python开发环境:

Python基本语法

字面值和变量:

变量和标识符:

Python命名规范:

Python数据类型:

Python类型检查:

Python类型转换:

Python运算符

Python考试题型:


Python相关知识

python,一种计算机语言

语言的发展历程:

机器语言

符号语言(汇编)

- 用符号来代替机器01,将符号语言=》机器语言过程汇编,将机器语言=>符号语言,反汇编

高级语言

​开始说人话,和硬件结合的不是那么紧密,学起来也较简单C C++ Java javascript Python


语言的编译和解释:

根据语言转换为机器语言的时间不同分为编译型解释型

编译型: C语言

​ 在执行之前就会被编译成机器码

优点:速度快,效率高

缺点:跨平台较差

解释型:python

(java  刚出来的时候作为解释型,后来JIT ,演变成半解释半编译型)

缺点:执行速度较慢


Python的介绍:

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。设计出来给非专业程序员用的教学语言。

Python 蟒蛇 1991 第一个解释器诞生

Life is short you need Python. 人生苦短,你需要Python


Python的优缺点:

优点:

1. 简单明了,学习曲线低,容易上手
2. 开源,跨平台
3. 第三方支持好,包多,功能多

缺点:

1. 执行效率稍低
2. 代码无法加密
3. 工程化相对较差,不够严谨,太灵活

适合做什么:

   WEB后端,网络爬虫,自动化运维,自动化测试,科学计算、数据分析、数据可视化、机器学习、量化交易。


Python开发环境:

所谓开发环境就是安装Python的解释器

解释器种类:

- CPython 官方,用C语言编写的解释器
- PyPy 用Python语言编写的解释器
- Jython 用Java编写的解释器
- IronPython 用.net写的解释器

推荐使用Anaconda来搭建开发环境,适合做科学计算的Python发行版

如果比较熟悉了以后推荐去掉图形界面 miniconda来做环境

镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/

检验安装是否成功,请在cmd模式下输入 python 回车检查是否启动环境

**更改conda的源**

在Anaconda中配置一个新的Environment,然后启动prompt

请在Anaconda的命令行中操作

```
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
```

开发工具 Jupyter Notebook:

![jupyter logo](Python.assets/main-logo.svg)

高德纳是算法和程序设计技术的先驱者,计算机排版系统TeX和字型设计系统METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作而誉满全球,荣获1974年度的图灵奖 。爱因斯坦《相对论》 费曼《量子电动力学》

literate programming

编程从让计算机读懂,进化到让机器去理解我们的想法

IPython 交互性的shell


Python基本语法

  • Python严格区分大小写
  • 每一行都是一条语句,以换行结束
  • 规范建议每一行语句不要超过80个字符
  • 一条语句可以分多行写,但是每行结束要用\来结尾
  • 严格缩进,Python中没有用{}或者单词来代表语句块,是用缩进来代表的,4个空格
  • Python的注释是用#
print('H\
ell\
o')

# print('H\
# ell\
# o')
print('Hello')

字面值和变量:

字面量就是一个值,1,2,3,'Hello'

变量(variable)可以用来保存字面量,并且变量中的字面量是不定的

变量本身就是一个标识,但是会根据存的字面量不同而表示不同的意思


变量和标识符:

java中
int i = 10;
必须要声明,类型要确定,或者类型推断,一个变量的存的类型是一定的

Python中使用变量,不需要声明,直接赋值
a = 10
所有变量一定要赋值后才可以使用
print(b)
NameError: name 'b' is not defined

Python命名规范:

命名规范(变量,类名,函数名)

  • 标识符可以含有数字,字母、_,但是不能用数字开头 eg. a_1 _1a _a1 , 1_a(错)
  • 不能用关键字和保留字,也不建议用函数名
  • 一般用下划线分割单词或者用帕斯卡命名(驼峰法则)DoSomething do_something doSomething 

Python数据类型:

1.整型

Python中的整数没有大小限制,可以无限大

   ​    a = 123_456_789 # 数字过长可以用下划线分割

   a = 15
   b = 0b1111  # 2进制
   c = 0o17	# 8进制
   d = 0x10    # 16进制
   print(a)
   print(b)
   print(c)
   print(d)

2.浮点型

 Python中所有的浮点数都是float类型,浮点型无法保证精确度

   a = 0.1+0.2
   print(a)
   # 0.30000000000000004
   print(0.3 == 0.1 + 0.2) # False 浮点数计算用精确度达到一定范围来确定是否相等

3.布尔型(True / False 1/0)

  # bool型本质是0,1,所以可以做整数运算
   a = False + 1
   print(a)
   print(a == True)
   # 1
   # True

4.字符串

字符串的本质是一段不可变的序列

s = 'Hello'  # 用引号括起来,可以是单引号,也可以是双引号,三引号,必须配对使用


s = '''床前明月光,     
疑似地上霜。
举头望明月,
低头思故乡。'''  # 排版格式会保留下来,三引号可以换行
print(s)

5.转义字符

\ 作为转义 和java相同

格式化字符

%s 表示任意字符占位 

%d 表示整数占位

%f  表示浮点数占位

s = 'Hello %s'%'Zhangsan'
s2 = 'Hello %s 你有%d元钱'%('Zhangsan',199)
s3 = 'Hello %s 你有%d元钱,还欠贷款%f元钱'%('Zhangsan',199,99999.99)
print(s)
print(s2)
print(s3)
# Hello Zhangsan
# Hello Zhangsan 你有199元钱
# Hello Zhangsan 你有199元钱,还欠贷款99999.990000元钱

s4 = 'Hello %5.10s'%'Zhangsanmohanmodeali'
s5 = 'Hello %5.10s'%'Zh'# 字符串的长度在5-10个字符之间
print(s4)
print(s5)
# Hello Zhangsanmo
# Hello    Zh
s6 = '存款是%.2f'%12345.6789
print(s6)
# 存款是12345.68

用f和{}来配合格式化

name = '张三'
rq = 1
print(f'Hello {name},{rq}是星期一')
# Hello 张三,1是星期一

用+拼接,只能拼接字符串(java可以把别的类型转化为字符串 Python不能这样做)

print('Hello'+ ' Zhangsan')
# Hello Zhangsan
print('Hello'+' Zhangsan'+ 1)
# TypeError: can only concatenate str (not "int") to str

6.空值

None #表示不存在


Python类型检查:

使用语句type()来检查类型

print(type(1))
print(type(1.1))
print(type(True))
print(type('abc'))
print(type(None))
print(type(print))

<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>
<class 'NoneType'>
<class 'builtin_function_or_method'>

Python类型转换:

int()  float()  bool()  str() 四个函数来转换类型

字符串转的时候一定要是合法数字字符

bool()可以将任何类型转换为布尔值,所有代表非空的都会变成True

a = 12345.6789
b = int(a)
print(b,type(b))

# 12345 <class 'int'> 直接取整,不四舍五入
c = '1234.5'
print(int(c))
# ValueError: invalid literal for int() with base 10: '1234.5'

print(float(c))

print(bool('True'))  # True
print(bool('False')) # True
print(bool('false')) # True
print(bool(0))		 # False
print(bool(''))      # False
print(bool(None))    # False
print(bool('0'))     # True

Python运算符

1.算术运算符

+ 加法,还可以拼接字符串 
-  减法

*  除了做乘法以外,还可以表示字符串重复次数
%
/  除法,所有的结果总是浮点数
// 整除
** 幂运算

s = 'abc'
print(s*3)
a = 10
print(a**2)  # 100  a的平方
print(a**0.5) # 3.1622776601683795

2.赋值运算符

+=  -=  
*=  除了数学的*=还可以表示字符串*=
/=
//=
%=
**= 

3.关系运算符

> >= < <= == !=  


is  is not 比较两个对象是不是同一个对象,实质是比较对象的id
也可以用来比较字符串,实质比的是字符串的unicode的编码大小(同java)

print(True is 1)  # False
print(1 == True)  # True
print(id(1),id(True))  # is 的本质是比较id

4.逻辑运算符

and 与 or 或  not 非  (&& || !)

如果运算中出现非bool值,相当Python会对其做一个bool转换

print(True and 2)  # 2  相当于 True

5.三元运算符

相当于java中的 int i = 2>1?2:1;

a = 10
b = 50
c = 80
max = a if a > b else b if b > c else c #使max等于三者中的最大值
print(max)

运算符优先级:

| **             | 幂运算       |
| -------------- | ------------ |
| * / % //       | 乘除取模整除 |
| + -            | 加,减       |
| > >= < <=      | 比较运算符   |
| == !=          | 等于         |
| = %= /= *= ... | 赋值运算符   |
| not and or     | 逻辑运算符   |
 

a = 1<2<3    # 1<2 and 2<3
print(a)     # True

Python考试题型:

1.看程序写出运行结果(类似填空)

2.代码段填空题(来自例题/作业……)

3.编程题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值