python

python是一门解释性语言(C语言编写的),意味着它是逐行翻译解释代码的

python的执行程序文件格式:.py

参考学习:黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)_哔哩哔哩_bilibili

python特点

  • 面向对象
  • 拥有一个强大的标准库
  • 拥有大量的第三方模块

执行python程序的三种方式

  1. 解释器–python/python3
  2. 交互式–ipython
  3. 集成开发环境–pycharm

实现编写python程序执行

  1. 安装python解释器
  2. 创建hello_world.py文件
  3. 然后输入print("hello_world")
  4. 保存,输入python3 hello_world.py执行

python版本

  • python2.x默认不支持中文,命令:python
  • python3.x是支持中文的,命令:python3
  • 其中python2.6和2.7是python2.0向python3.0的过渡版本

python解释的多个版本

  • Cpytho–官方版本(C语言)
  • Jython–java版本
  • IronPython–支持.net
  • PyPy–python实现的,支持JIT即时编译

python语法

python程序常见错误

1.关键词编写错误

2.多条python语句写在一行

一行只需一条python语句

3.python语句前有空格

注意,python语法严格,在python语句前都不要轻易有空格或者Tab

模块

模块是Python程序架构的一个核心概念

模块就好比是工具包,要想使用这个工具包中的工具,就需要导入这个模块(import)

每个python文件都可以是一个模块

模块中的全局变量,函数都是模块能提供给外界直接使用的工具

import 导入模块(“工具包”)
import keyword  # 关键字工具包
import random
random.randint(a,b)   # 返回[a,b]区间的一个随机整数

注释

行注释
# 这是一个行注释
块注释
"""
这个是一个块注释
也称多行注释
"""

运算符

算数运算符
运算符 描述 实例
+ 1+1=2
- 2-1=1
* 1*1=1
/ 9/2=4.5
// 取整数 9//2=4
% 取余数 9%2=1
** 2**3=8

*乘号在python中还能起拼接字符串的作用,计算结果就字符串重复指定次数

" hello " * 10
' hello  hello  hello  hello  hello  hello  hello  hello  hello  hello '

python运算符

符号 意义
+= 取加 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

注意:python中没有++和–

逻辑运算符
  1. and 与
  2. or 或
  3. not 非
  4. in 是否存在
  5. is 是否
运算符支持的数据类型
运算符 python表达式 结果 描述 支持的数据类型
+ [1,2]+[3,4] [1,2,3,4] 合并 字符串,列表,元组
* [“hi”]*4 [“hi”,“hi”,“hi”,“hi”] 重复 字符串,列表,元组
in 3 in (1,2,3) True 元素是否存在 字符串,列表,元组,词典
not in 4 not in (1,2,3) True 元素是否不存在 字符窜,列表,元组,词典
>,>=,==,<,<= (1,2,3)<(2,2,3) True 元素比较 字符串,列表,元组

变量和数据类型

变量的命名

标识符

与C/C++相同:数字,下划线和字母,然后数字不能开头且不能和关键词同名

变量的信息

内存中的一个变量包括以下信息

  1. 变量的名称
  2. 变量保存的数据
  3. 变量存储数据的类型
  4. 变量的地址(标示)

在python中定义变量不需要指定类型,它会根据赋值自动确定类型

变量的数据类型
数字型
  1. 整型int
  2. 浮点型float
  3. 布尔型bool—非零即真
  4. 复数型complex
非数字型
  1. 字符串str
  2. 列表list
  3. 元组tuple
  4. 字典dict

可以用type函数查看变量的类型

type(2**100)

字符串间可以用+拼接,但是字符串和数字不能进行计算

全局变量-global关键字

它会告诉解释器后面跟的变量是一个全局变量

变量的类型转换
函数 说明
int() 整型转换
float() 浮点型转换

基本的输入输出

input()—输入的都是字符串
str = input("提示")
print()
print("你好")

在默认情况下,print函数在输入出后会自动换行,其中在print打印的内容后面加上,end="",可以取消自动换行

print("ni",end="")
print("hao")

格式化字符

格式化字符 含义
%s 字符串
%d 有符号十进制整数,%06d表示输出的整数显示位数,不足的地方使用0补全
%f 浮点数,%.2f表示小数点后只显示两位
%% 输出%
print("格式化字符" % 变量名)
print("格式化字符" % (变量1,变量2,...))

逻辑语句

判断语句

if

#if冒号后缩进相同的可以看成一个代码块
if 条件1:a = 3b = 4
elif 条件2:  #elif 类似else ifb = 3
elif 条件3:b = 6
else:a = 5d = 6
e = 7
循环
while
while 条件:todo_1todo_2
for
for val in list:todo_1todo_2
else: #  此段可有可无,如同 if else里的else没有通过break退出循环,循环结束后就会执行该段代码

函数

定义
def 函数名(参数1, 参数2, ...):函数封装的代码...return

注意:函数内return后面的代码不会执行

函数的多值参数
类型 作用
* 表示元组的多个参数
** 表示字典的多个参数
公共函数
函数 功能 备注
len(a) 取得元素数量
del(a) 删除元素
max(a) 返回容器中元素最大值
min(a) 返回容器中元素最小值
cmp(a,b) 比较两个值,-1小于/0等于/1大于 python3.x已经取消

切片

描述 pythoy表达式 结果 支持的数据类型
切片 “0123456789”[::-2] “97531” 字符串,列表,元组

dir()内置函数

可以查看一个对象所有的函数

id()函数

可以获取变量地址

不可变类型(指只能修改地址来修改变量值)

  1. 数字类型
  2. 字符串
  3. 元组

可变类型(指不修改地址就可以修改变量值)

  1. 列表
  2. 字典

非数字型变量

列表

list—类似数组,但是又不同(可以存储不同类型的数据)

num_list = [1, 2, 3]
函数 使用 作用
index() 取得索引
append() 末尾添加数据
insert() 指定位置添加数据
extend() 把整个列表添加到末尾
remove() 删除某个数据
pop() 删除末尾或者指定索引位置的数据
count() 统计列表中某一个数据出现的次数
sort() 排序(默认升序,reverse=false)
reverse() 反转列表顺序

del关键字

主要是用于删除处于内存中的变量。

len()函数:主要是用于统计列表中元素的个数

元组

Tuble与列表类似,不同之处在于元组的元素不能修改

info_tuple = (1, 2, 3)
info_ming = ("小明", 22, 180)
str1 = "姓名:%s, 年龄:%d, 身高:%d" % info_ming
print(str1)

注意:在只要定义一个元素的元组时,元素后面一定要加一个

tuple()转换成元组类型

list()转换成列表

字典

类似hash表

字典是保存无序的对象集合

xiaoming = {"name":"小明","age",18,"height":1.80}
函数 使用 作用
update() 更新字典
pop() 删除字典中某个键值对
clear() 清空字典
字符串

与C++中的字符串相似,但是末尾没有’\0’

str 可以用"",也可以用''

函数 使用 作用
len() 获取字符串的长度
count() 统计字符串中某个子串出现的次数
index() 获取字符串中的某个子串的索引下标

定义
class 类名:def 方法1(self, 参数列表):  # self 相当于this指针# Todo1def 方法2(self, 参数列表):# Todo2
构造和析构方法
def __init__(self):# todo
def __del__(self):# todo# 还有一个默认输出方法
def __str__(self):# todo# 必须返回一个字符串return "__str__"

is 和 ==的区别

is是判断二者的地址是否相等,而== 是判断二者的数据是否相等

私有属性和私有方法
# 私有只要在命名前加上__
class Person:def __init__(self):self.__age = 18def __func(self):print("私有方法")

实际上python并没有真正的私有,只需要在私有属性命名前加上_类名,就可以访问

类的继承
class 类名(父类名):pass

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

在 Python3.x 的时候 pass空函数可以写或不写;python2.x,空函数一定要写,

重写

跟C++一样,子类覆盖父类的方法

super().父类方法,可以在子类中调用父类方法

多继承

python 提供了一个可以查继承关系的方法 _mro_

多态

父类中的方法在不同的子类对象的调用下产生不同的效果

类方法和静态方法

类属性就是针对类对象定义的属性,直接在类中定义,类似C++中类的静态变量

class person:age = 0  # 类属性,所有类对象共有def __init__(self):self.height = 0  #实例属性,每个对象有一份

类方法就是针对类定义的方法,定义方式如下

class person:@classmethoddef run(cls):pass

静态方法

不访问实例属性和类属性的方法可以封装成静态方法

@staticmethod
def func():pass

python运行

python的另一种执行方式-----Shebang符号

  1. 在程序的开头加上: #!python程序的绝对路径
  2. 然后修改该文件的权限:chomd +x xxx.py

主程序

使用__name__ == "__main__"来区分被调用模块和主程序

python2.x的编码问题

# *-* coding:utf8 *-*

# coding=utf8

eval函数

可以将字符串当成有效表达式来求值,并返回计算结果

eval("1+1")  # 结果是2

OS模块

文件常用管理操作

__import__("os").system("终端命令")

django

model数据库表连接模块

django-admin startapp TestModel

python语言初学相关推荐

  1. python语言的理解-初学Python语言者必须理解的下划线

    下划线(_)在Python语言中有特殊作用. 在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此.如果你是一名Python程序员,对于诸如 _ in ra ...

  2. python语言下划线怎么打_初学Python语言者必须理解的下划线

    下划线(_)在Python语言中有特殊作用. 在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此.如果你是一名Python程序员,对于诸如 _ in ra ...

  3. python实验心得_Python语言初学总结

    课程名称:程序设计方法学 实验1:程序设计语言工具 时间:2015年10月21日星期三,第3.4节 地点:理工楼1#208 一.实验目的 1.深入理解程序设计语言及其几种常见的编程范型: 2.激发学生 ...

  4. python安装在什么系统下最好-学python语言用什么软件比较好?需要安装哪些软件?...

    Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码 ...

  5. python的优点和缺点-Python语言的优缺点,你知道吗?

    Python被称为是机器学习最优秀的语言,没有之一.很多人不禁会问,Python究竟有什么优点呢?能够在短短时间内上升为编程界最受欢迎的语言.今天,千锋武汉Python培训小编就详细讲解一下Pytho ...

  6. python领域有什么用-Python语言被广泛用在哪些领域了?

    我们为什么要学 Python?地产大佬潘石屹曾在微博回答过:在这信息时代想要让机器为人工作,就必须学习机器的语言,而Python就是进化后比较好的计算机语言.总的来讲,Python绝对是近年最火的编程 ...

  7. python语言自学-为什么建议大家都学习Python语言?原因在这

    有很多人在问小编,为什么说学人工智能一定要学Python?运行速度慢不好之类的,今天就让小编谈谈自己对于Python的感受. 一.先来说说Python的前景 随着"大数据"&quo ...

  8. python的优缺点有哪些-python语言的优缺点

    python语言的优点 ⑴作为初学python的科班出身的小白,python非常简单,非常适合人类阅读.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的 ...

  9. python安装要钱吗-python语言是免费还是收费的?

    python是免费的么? python是免费的,也就是开源的.编程软件的盈利方式就是你使用它, 用的人越多越值钱. 注:Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. ...

最新文章

  1. Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]
  2. 树莓派获4500万美元融资,估值已达5亿美元,去年创下了710万台销量纪录
  3. python中的h5py开源库的使用
  4. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略
  5. Java枚举(深刻而不深沉平淡而不平庸)
  6. silverlight 学习笔记 (五): MVVM Light Toolkits 之 RealCommand
  7. hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)
  8. [转]EVC++开发实例之浏览器窗口(by fllsoft)
  9. Vue:解决实现留言回复功能时,点击回复某一条所有回复面板都弹出
  10. VS2013 Codejock 实现 MFC 换肤
  11. Python数据结构-列表
  12. PLSQL工具连接Oracle
  13. 30岁开始学编程晚吗?
  14. 怎样计算两个文本的Rougel,Bleu评价指标
  15. 关机代码(强制关机)
  16. 那些年我们一起手写过的单例
  17. 计算机微图表的类型,说说Excel中的微图表
  18. Android常用存储类型与简介
  19. ERP的工单(MO)
  20. 2020年司钻(井下)考试题库及司钻(井下)考试APP

热门文章

  1. 前台js中图片picture设置
  2. confluent-kafka-go依赖库编译体验优化
  3. Java 获取本地时间与网络时间
  4. 【五、反向代理及其相关配置】
  5. 25 匹马 5 条赛道,最快需要几轮求出前 3 名?
  6. # R语言——约瑟夫环
  7. Eclipse+webservice简单实例搭建
  8. UTXO:未使用的交易输出
  9. VMware安装后界面显示为英文
  10. CARLA 学习笔记1:CARLA简介