Python基础
一、python安装和运行
1.什么是编程?
所谓编程,就是让计算机根据你设定好的流程去做事。
2.为什么先学python?
- 简单易学,容易上手
- 更加贴近人类的自然语言和平时的思维方式
- 具有丰富的内置库和第三方库
3.学了这门语言之后能做什么?
- 工具开发:IT行业的工作人员,有大量的重复性工作。我们可以使用python开发出一些工具,来帮我们完成。例如:代码打包,部署生产环境,备份数据。从网站抓取数据进行分析等。
- web服务: 现在web服务的需求已经非常的普遍,对网站的开发量需求也在不断增加,有了python语言的基础,再去学习一些web框架,成为初级web后端开发人员问题不大。常见的python web服务应用框架有:Django、Flask、Torndo、Pyramid、Bottle
4.编译型语言和解释型语言
- 程序语言有很多种,大家或许听说过汇编,C、C++、java、Ruby、python、C#、JavaScript等等
- 像汇编,C,C++这样的语言,最终是通过编译器编译链接成了机器代码(可执行文件)直接说给cpu听,而python、Ruby这样的语言,则通常由一个叫做解释器的软件,翻译过来给CPU听。
- 编译器就像一个文字翻译员,它是事先翻译好全部文档后,给CPU取阅读理
- 解释器就像一个实现口译人员,它是运行过程中实时翻译给CPU去理解
5.python2和python3的主要区别
1、print语句的语法
#python2
print ‘hello world’
#python3
print(‘hello world’)
2、整数除法
python2:5/3=1 【向下取整-除】
python3:5/3=1.6666666666666667【精确—除】
python2:5//3=1 【向下取整-除】
python3:5//3=1 【向下取整-除】
3、Unicode
Python 2有两种字符串类型:str和unicode,Python 3中的字符串默认就是Unicode,Python 3中的str相当于Python 2中的unicode。
在Python 2中,如果代码中包含非英文字符,需要在代码文件的最开始声明编码,如下
# -*- coding: utf-8 -*-
在Python 3中,默认的字符串就是Unicode,就省去了这个麻烦,下面的代码在Python 3可以正常地运行
a = "你好"print(a)
6.python安装
- Windows XP 不支持 Python3.6 版本的 Python解释器
- Windows 7 系统
一定要安装 Service Pack 1 补丁包
,才能安装Python3.6 以后的版本
7.python解释器安装
- 定要勾选 Add Python 3.6 to path (添加环境变量)选项, 然后再点击 Customize installation自定义安装
- 检查安装是否成功:win+r 输入cmd 进去后输入python
8.开发工具
- python交互式命令行:打开python.exe直接敲代码
- python自带的代码编译器(IDLE):Python本身自带了一个简单的编辑器,但是它比较简陋,只适合编写简单脚本,不建议使用
- Notepad++ :既然要在文件中写代码,就需要
编辑代码
文件的软件。如果是编写一个简单的程序,推荐大家使用 notepad++, 大家可以百度搜索下载安装。 - Pycharm:Pycharm是一种python IDE,带有一整套可以帮助用户在使用Pycharm语言开发时提高其工作效率的工具,比如调试、语法高亮、Project管理、代码跳转、只能提示、自动完成、单元测试、版本控制我们后续都需要用到
9.输入,输出,变量
- 输入:input(数据类型为string)
- 输出:print(输出多个值用逗号隔开,sep指定多个值之间的连接符)
- 变量:保存数据的容器
二、数据类型
1.数字(number)
- 数字类型:分为int、float、complex三种
- 整型:通常被称为是整型或整数,是正或负整数,不带小数点。如:10、78。
- 浮点:由整数部分与小数部分组成。如:2.65、3.1415。
- 复数:复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。(例:-4的平方根)
- 数字类型转化
2.字符串(string)
-
python中最常用的数据类型:
var = 'hello' var1 = 'world!' var3 = '1' i = 'hello world' print('i')
-
Python中字符串之间可以用”+”连接:
var = 'hello' var1 = “world!” var 3= '1' var4 = var + var1 print(var4) print(var,var1) print(var+', '+var1) print('%s%s'%(var,var1))
-
Python中字符串可以使用索引的方式截取(切片):
var = 'hello world!' print(var) print(var[2:]) print(var[2:5]) print(var[:7])
-
Python中字符串可以使用索引的方式截取,同时还提供了指定间距的提取方式:
var = 'hello world!' print(var) print(var[2::2])
字符串的函数
a = 'helloword'
#len查看字符串的长度
#len(a)
#count()查看出现的次数
#print(a.count('o'))
#a.capitalize() 将字符串首字母转换成大写
#print(a.capitalize())
#center返回指定宽度居中的字符。可以指定空白地方用什么填充
#print(a.center(50,'*'))
#查看某个字母在字符串的中的下标,如果查看的内容有多个,则会查找第一个下标
#print(a.find('o'))
#replace替换字符串中的内容
#print(a.replace('o','k'))
#split 指定以什么来切割字符串
#print(a.split('o',2))
#index查找字符在字符串中的下标,如果没有,则会报错,可以指定查找的范围
#print(a.index('d',5,9))
#isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
#print(a.isalnum())
#isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
#print(a.isalpha())
#isdigit() 如果字符串只包含数字则返回 True 否则返回 False
#print(a.isdigit())
#islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
#print(a.islower())
#isspace() 如果字符串中只包含空格,则返回 True,否则返回 False.
#print(a.isspace())
#istitle()方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
#print(a.istitle())
#lower() 转换字符串中所有大写字符为小写。
# print(a.lower())
# max(str) 返回字符串 str 中最大的字母。
# print(max(a))
# min(str) 返回字符串 str 中最小的字母。
# print(min(a))
# startswith(str, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
#print(a.startswith('he'))
3.列表
a.列表的定义:
#定义列表
# 方式一
# list1 = []
# print(type(list1))
#方式二:
# list2 = list()
# print(type(list2))
#列表里面可以用存放数据
#列表里面可以存储任意类型的数据
b.下标索引
下标索引和字符串规一致:
正数下标从左往右,从0开始,最后下标是长度减一
负数下标从右往左,从-1开始,最后一个元素的下标是-len()
c.截取
names = ['tom','LISI',56,78,89]
#去下标对于的元素
#print(names[-1])
#截取一段:
#print(names[1:5])
#截取下标为2的元素后面的所有内容
#print(names[1:])
#print(names[-4:])
d.列表常见方法
names = [67, 45, 56,34,56,34]
# list.append(obj) 在列表末尾添加新的对象
# print(names)
# list1 = [23,456,5654]
# names.append(list1)
# print(names)
# list.count(obj) 统计某个元素在列表中出现的次数
#print(names.count(34))
# list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
# print(names)
# list1 = [23,456,5654]
# names.extend(list1)
# print(names)
# list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始
#print(names.index(341))
# list.insert(index, obj) 将对象插入列表
# print(names)
# list1 = 'saf'
# names.insert(-4,list1)
# print(names)
# list.pop(index) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
# print(names)
# print(names.pop(-2))
# print(names)
# list.remove(obj) 移除列表中某个值的第一个匹配项
# print(names)
# print(names.remove(34))
# print(names)
# list.reverse() 反向列表中元素,倒转
# print(names)
# print(names.reverse())
# print(names)
# list.sort([func]) 对原列表进行排序
# print(names)
# names.sort()
# print(names)
4、元组
定义元祖:
#元祖定义
#方式1
# tup1 = ("nfds",45)
# print(type(tup1))
# 方式二:
# tup2 = tuple()
# print(type(tup2))
#元组定义的时候如果只有一个元素,必须在后面加逗号
#元组里面可以存放任意类型的数据
#元组定义后不可更改
元组的下标
下标规则和字符串、列表一直
元组的截取
tup1 = ("sadfsa",["sda","sds",45],(34,45))
print(type(tup1))
print(tup1[1])
print(tup1[1][-1])
print(tup1[1:])
元组的常见方法
# len(tuple) 计算元组元素个数。
tup1 = ("zdvc","zxdvc","scds","asfcsd")
# print(len(tup1))
# max(tuple) 返回元组中元素最大值。
# print(max(tup1))
# min(tuple) 返回元组中元素最小值。
# print(min(tup1))
# tuple(seq) 将列表转换为元组。
# list1 = [23,45,56]
# b = tuple(list1)
# print(type(b),b)
5、集合
定义集合
#方式一:
# set1 = set()
# print(type(set1))
#方式二:
# set2 = {"asdf"}
# print(type(set2))
类型转换
list1 = [12,434,45,56,56]
set1 = set(list1)
print(set1)
常见方法
s1 = {'sf',45,56,343}
# 1.添加一个元素
# s.add(12)
# print(s1)
# s1.add('郭招迪')
# print(s1)
# 2.删除一个元素
# s.remove('aa')
# print(s1)
# s1.remove(45)
# print(s1)
# 3.删除整个集合
# del (s)
# print(s1)
# del(s1)
# 4.长度计算
# len(s)
# print(len(s1))
6、字典
定义方式
#方式一:
t1 = {'class1': {'gae':"fsf"},'class2':'sdfs'}
print(t1)
#方式二
# t1 = dict()
# print(type(t1))
#字典里面的是一键值对的形式来存储的,键是唯一的,
#值可以是任意数据类型
字符串格式化输入
方式一:%
print("%s的年龄是%d" % (name,age))
注意:%s代表字符串、%d代表整数、%f 浮点数
方式二:format
print("{1}的年龄是{0}".format(name,age))
注意:format在出入值的时候是根据位置的传递的,可以在{}指定参数位置下标传递
方式三:
print(f"{name}的年龄是{age}")
控制结构
循环
for循环
for 变量 in 次数:
执行的语句
for循环可以便利输出列表中的元素,注意循环次数是由列表中的元素个数来控制的
range(0,10) 从0开始区到9
range(2,8) 从2取到7
range(1,100,5) 输出1到99 隔5隔数字取一个
while循环
while会不停地循环执行隶属于它的语句,直到条件为假(False)。
Python中写死循环要使用while true
break和continue
break 用于结束整个循环
continue 用于结束本次循环