Python基础理论

Python简介

python是面向对象(Python 中的每样东西都是对象)的一门解释性语言,其为我们提供了非常完善的基础代码库和大量的第三方库(所谓的库就是说有很多基本的已经写好的现成的东西,来帮助你加快开发进度)

python非常适合开发的以下应用:

1、首选是网络应用,包括网站、后台服务等等;

2、其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等

在运行python前,需要将python源代码转化成机器能够识别的机器码,而这就是通过python的解释器来完成的,例如:CPython

变量

python中定义变量很简单,不用像java一样先定义变量类型(静态语言)

int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量

并且python可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量(动态语言)

a = 'ABC'
因为python解释器对于这个操作是干了两件事:
1、在内存中创建了一个'ABC'的字符串对象;
2、在内存中创建了一个名为'a'的变量,并把他指向'ABC'

输出

字符串输出:print('liu','cheng') ','号会输出一个空格
整数输出:print(100)
计算结果输出:print('100 + 200=',100+200)

输入

name = input('please input your name: ')

注意:input输入的类型是str,所以要输入num的话,要记得进行类型转换一下

name = int(input('please input your name: '))
运算符
>>> 10/3
3.3333333333333335
>>> 10//3
3   

布尔值可以用and、or和not运算

数据类型

不同的数据需要定义不同的类型,但是Python是一种动态类型化语言,所以无需声明变量类型。

i = 100
这个过程其实有两步:第一是创建一个整数对象;第二步就是将这个对象的引用赋值给变量

在python中可以直接处理的几种数据类型有:

. 整数

. 布尔值

. 浮点数

. 字符串

. 列表

. 字典

而Python的每个对象都分为可变和不可变,主要的核心类型中,数字、字符串、元组是不可变的,列表、字典是可变的。

不可变:一个变量一般都会映射到一个内存地址,内存地址存储对象值,而当修改变量的值
时是将变量映射到了另一个内存地址,不是在原来的内存地址上进行修改
i = 5
id(i)
i += 1
id(i)

可变:修改变量的值时,是在原来内存地址上进行修改对象值

内存地址映射

字符串
  • 使用’或者"来标示
  • 加法进行字符串的拼接
  • 如果字符即包含’或者",则print('I\‘m “ok”’),进行转义
  • 转义还有通过r,print(r’\n’)与print(‘\n’)是相同效果
  • 还有就是内部有非常多要换行时,print(‘’‘line1 … line2 … line3’‘’)
  • 字符串表示中str与repr区别是repr是将字符串转换为合法的表达式,而str则是将字符串转换为更容易让用户理解的形式
布尔值

布尔值可以用and、or和not运算

列表(list)

list列表是可变对象,调用对象自身的任意方法,会创建新的对象并返回

python中的列表有点类似数组的概念,python中的列表list是一个有序集合,可以随时删除和添加元素

 赋值:classmates = ['Michael', 'Bob', 'Tracy']
 引用:classmates[0]
      classmates[-1]
 追加:classmates.append('adam')
 插入:classmates.insert(1,'jack')
 删除末尾与指定的:classmates.pop()
                classmates.pop(1)
 替换:classmates[1] = 'sarah'
 
 列表加法和乘法:
  L = [1] +[2] + [3]  此时L是[1, 2, 3]
  L * 2 此时L是 [1, 2, 3, 1, 2, 3]  相当于将列表重复相加

还有就是元组(tuple),tuple初始化后就不能修改,所以tuple相比list更加安全。

t = (1, 2)
注意:t = ('a', 'b', ['A', 'B']) tuple中放置list,list是可变的。

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

字典(dict)

dict与list的区别:

查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。

dict的查找速度快,dict就是通过给定一个名字,比如’Michael’,dict在内部就可以直接计算出Michael对应的存放成绩的“页码”,也就是95这个数字存放的内存地址,直接取出来,所以速度非常快

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
赋值:d['Adam'] = 67
判断存在:'Thomas' in d 或者  d.get('Thomas')

dict内部存放的顺序和key放入的顺序是没有关系的。

dict的key必须是不可变对象。因为dict是根据key来计算value的存储位置

字符串和编码

在计算机的世界只有数字0和1,所有任何文本在计算机处理前都需要将其转为转换为数字; 最早的ascii编码用一个字节来对所有的字母、数字、符号等进行编码;

但是ascii是包含不了各国语言文字的,所以出现了unicode编码,unicode编码用两个字节来包含各国语言文字的编码;

unicode编码由于其特点所以使用率不是很好,直到utf-8编码出现改变了现状,utf-8广泛用于数据传输中;

字符串编码
'ABC'.encode('ascii') 
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。
如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes
字符串解码
b'ABC'.decode('ascii')
我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str

为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
格式化

经常需要输出’亲爱的xxx你好!你xx月的话费是xx,余额是xx’之类的字符串,xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

常见的占位符有:

%d 整数

%f 浮点数

%s 字符串

%x 十六进制整数

print('%2d-%02d' % (3, 1))
用%%来表示一个%

判断

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

循环

其实在python中for一般用于迭代,while才是真正的用于循环

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)


sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

break语句可以提前退出循环

continue语句跳过当前的这次循环,直接开始下一次循环

这两个语句通常都必须配合if语句使用

以上就是“Python基础理论”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值