python语言初学
python
python是一门解释性语言(C语言编写的),意味着它是逐行翻译解释代码的
python的执行程序文件格式:.py
参考学习:黑马程序员Python教程_600集Python从入门到精通教程(懂中文就能学会)_哔哩哔哩_bilibili
python特点
- 面向对象
- 拥有一个强大的标准库
- 拥有大量的第三方模块
执行python程序的三种方式
- 解释器–python/python3
- 交互式–ipython
- 集成开发环境–pycharm
实现编写python程序执行
- 安装python解释器
- 创建
hello_world.py
文件 - 然后输入
print("hello_world")
- 保存,输入
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中没有++和–
逻辑运算符
- and 与
- or 或
- not 非
- in 是否存在
- 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++相同:数字,下划线和字母,然后数字不能开头且不能和关键词同名
变量的信息
内存中的一个变量包括以下信息
- 变量的名称
- 变量保存的数据
- 变量存储数据的类型
- 变量的地址(标示)
在python中定义变量不需要指定类型,它会根据赋值自动确定类型
变量的数据类型
数字型
- 整型int
- 浮点型float
- 布尔型bool—非零即真
- 复数型complex
非数字型
- 字符串str
- 列表list
- 元组tuple
- 字典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()函数
可以获取变量地址
不可变类型(指只能修改地址来修改变量值)
- 数字类型
- 字符串
- 元组
可变类型(指不修改地址就可以修改变量值)
- 列表
- 字典
非数字型变量
列表
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符号
- 在程序的开头加上:
#!python程序的绝对路径
- 然后修改该文件的权限:
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语言初学相关推荐
- python语言的理解-初学Python语言者必须理解的下划线
下划线(_)在Python语言中有特殊作用. 在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此.如果你是一名Python程序员,对于诸如 _ in ra ...
- python语言下划线怎么打_初学Python语言者必须理解的下划线
下划线(_)在Python语言中有特殊作用. 在大多数编程语言中,下划线是命名变量或者函数名称时的连字符,但是,在Python语言中,不仅如此.如果你是一名Python程序员,对于诸如 _ in ra ...
- python实验心得_Python语言初学总结
课程名称:程序设计方法学 实验1:程序设计语言工具 时间:2015年10月21日星期三,第3.4节 地点:理工楼1#208 一.实验目的 1.深入理解程序设计语言及其几种常见的编程范型: 2.激发学生 ...
- python安装在什么系统下最好-学python语言用什么软件比较好?需要安装哪些软件?...
Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码 ...
- python的优点和缺点-Python语言的优缺点,你知道吗?
Python被称为是机器学习最优秀的语言,没有之一.很多人不禁会问,Python究竟有什么优点呢?能够在短短时间内上升为编程界最受欢迎的语言.今天,千锋武汉Python培训小编就详细讲解一下Pytho ...
- python领域有什么用-Python语言被广泛用在哪些领域了?
我们为什么要学 Python?地产大佬潘石屹曾在微博回答过:在这信息时代想要让机器为人工作,就必须学习机器的语言,而Python就是进化后比较好的计算机语言.总的来讲,Python绝对是近年最火的编程 ...
- python语言自学-为什么建议大家都学习Python语言?原因在这
有很多人在问小编,为什么说学人工智能一定要学Python?运行速度慢不好之类的,今天就让小编谈谈自己对于Python的感受. 一.先来说说Python的前景 随着"大数据"&quo ...
- python的优缺点有哪些-python语言的优缺点
python语言的优点 ⑴作为初学python的科班出身的小白,python非常简单,非常适合人类阅读.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的 ...
- python安装要钱吗-python语言是免费还是收费的?
python是免费的么? python是免费的,也就是开源的.编程软件的盈利方式就是你使用它, 用的人越多越值钱. 注:Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. ...
最新文章
- Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]
- 树莓派获4500万美元融资,估值已达5亿美元,去年创下了710万台销量纪录
- python中的h5py开源库的使用
- ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略
- Java枚举(深刻而不深沉平淡而不平庸)
- silverlight 学习笔记 (五): MVVM Light Toolkits 之 RealCommand
- hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)
- [转]EVC++开发实例之浏览器窗口(by fllsoft)
- Vue:解决实现留言回复功能时,点击回复某一条所有回复面板都弹出
- VS2013 Codejock 实现 MFC 换肤
- Python数据结构-列表
- PLSQL工具连接Oracle
- 30岁开始学编程晚吗?
- 怎样计算两个文本的Rougel,Bleu评价指标
- 关机代码(强制关机)
- 那些年我们一起手写过的单例
- 计算机微图表的类型,说说Excel中的微图表
- Android常用存储类型与简介
- ERP的工单(MO)
- 2020年司钻(井下)考试题库及司钻(井下)考试APP