python程序设计——基本语言特性
参考《Python程序设计(第2版)》 清华大学出版社 董付国
##### 除特殊说明外,以下代码示例,均为python 3.6版本 #####
一、Python语言特性
1.python是一种强类型编程语言,就是说,python解释器会根据赋值或运算自动推断变量类型
2.python是一种动态类型语言,就是说,变量的类型可以随时变化
可以使用 type() 查看变量类型,isinstance() 可以判断对象是否为指定类型的实例
- #python 3.x
1 >>x=3- >>print(type(3))
- <class 'int'>
- >>isinstance(3,int)
- True
- >>isinstance('hello world',str)
- True
3.python使用基于值的内存管理方式
如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址
- #pyhton 3.x
1 print("id(x):",id(x))- y=x
- print("id(y):",id(y))
- x+=6
- print("id(x+6):",id(x))
- out:
- id(x): 1876094032
- id(y): 1876094032
- id(x+6): 1876094224
4.python具有自动内存管理功能,会跟踪所有值,自动删除不再有变量指向的值
显式使用 del 命令删除不需要的值,是一个优秀程序员的基本素养之一
二、Python内置对象
简单罗列一下,后续文章会陆续介绍
类型 | 示例 |
数字 | 1234, 3.14, 3+4j |
字符串 | 'swf' 'hello' "have fun" |
列表 | [2,2,3] ['a', 'v', ['c', 'd']] |
字典 | {1:'red', 2:'yellow', 3:'blue'} |
元组 | (2, -4, 5) |
文件 | f=open('data.txt','r') |
集合 | set('abc') {'a', 'c', 'e'} |
布尔型 | True False |
空类型 | None |
编程单元类型 |
函数 def 类 class |
三、Python运算符
运算符与C语言类似,简单说几种比较特别的:
x or y 逻辑或 x and y 逻辑与 not x 逻辑非
x//y 求整商 x/y 真除法
- #python 3.x
- >>3.0/5
- 0.6
- >>3.0//5
- 0.0
x**y 幂运算
x in y ; x not in y 成员测试
x is y ; x is not y 对象实体同一性测试(地址)
@ 矩阵乘法
四、Python关键字
- >>import keyword
- >>print(keyword.kwlist)
- ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
五、删除操作del
使用 del 显示删除对象并解除对象与值之间的指向关系
若该值有其他对象指向,则只删除对象,不删除该值;否则删除该值
del 可以删除列表或其他可变序列中的指定元素,无法删除元组或字符串,因为这两者属于不可变序列
六、基本输入输出
使用 input() 接收用户输入
在Python 3.x中,input() 函数的返回结果为字符串,需要将其转化为相应的类型再处理
- >>x = input("input:")
- input:3
- >>print(type(x))
- str
输出重定向
- >>fp = open(r'D:\file.txt','a+')
- >>print('hello world', file=fp)
- >>fp.close()
七、模块导入与使用
1. import 模块名 [as 别名]
2. from 模块名 import 对象名 [as 别名]
仅导入明确指定的对象,可以减少查询次数,提供访问速度
3. from 模块名 import *
一次导入所有对象,一旦多个模块中有同名的对象,会导致混乱
模块导入的顺序
1. 导入python标准库模块,如 os sys re
2. 导入第三方扩展库,如 numpy scipy
3. 导入自己定义和开发的本地模块
八、python文件名
常见扩展名
py 源文件,由解释器负责解释
pyw 源文件,用于图像界面程序
pyc 字节码文件,用于隐藏python源代码,提高运行速度
模块第一次导入时被编译为字节码的形式,在以后再次导入时优先使用.pyc文件
pyd 由其他语言编译的二进制文件,常用于实现某些软件工具的python编程接口插件或python动态链接库
python程序设计——基本语言特性的更多相关文章
- Python的动态语言特性; __slots__属性
python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...
- 转--Python语言特性
1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...
- Python语言特性
1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...
- Python的语言特性
1.Python的函数传参 Python中所有的变量都可以理解为内存中一个对象的“引用”,或者,也可以看似C中的void *的感觉.这里记住的是类型是属于对象的,而不是变量.对象分为两种: 可更改的: ...
- 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境
承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...
- python语言特性-------python2.7教程学习【廖雪峰版】(一)
开始学习廖雪峰的py2.7教程: 2017年6月5日12:54:28 笔记: 廖雪峰python2.7教程1.用任何编程语言来开发程序,都是为了让计算机干活. 2.Python是一种相当高级的语言. ...
- Python 的语言特性
谈谈对 Python 和其他语言的区别 Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植.可扩展,可嵌入的解释型编程语言,属于动态语言. ...
- python基础-初识Python和不同语言之间的区别
一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...
- python之 python 起源、语言特点
一. 1.1 什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...
随机推荐
- 写在归程路上——2018ROBOCUP机器人世界杯中国赛
写入自强队名单一年,认识Daniel十个月,第二次代表上海大学参加国赛,这一次是在浙江绍兴.坐在返沪的车上,心里担心着作业和明天的早课,写这篇博文来打发打发时间. ROBOCUP两个半比赛日,项目主要 ...
- PL/SQL 数组的使用
一.固定数组 1.在模式(schema)级创建VARRAY类型 语法: CREATE OR REPLACE TYPE varray_type_name IS VARRAY(n) OF <elem ...
- oracle 12.1.0.2中对象锁对系统的较大影响
环境:oracle 12.1.0.2 rac ,4节点 一.概述 通常来说,如果是oltp应用,那么部署在rac上,是不错的注意. 但实现情况中,往往是混合类型,既有OLTP也有OLAP. 如果没有 ...
- XAMPP中的MySQL与本地MySQL冲突的问题
学习SQL时在本地中先安装了MySQL,后来因为项目需要又安装了XAMPP集成环境,今天在启动项目的时候发现启动MySQL各种问题(期望启动的是XAMPP中的MySQL服务),在Navicat中显示成 ...
- 编辑文件出现:E212 can’t open file for writing
前面目录没有创建 还可能是权限问题
- JDK5后的特性整理
为了大家对JDK有一个全面的了解,下面是我从网上查找并整理了JDK5以后的所有关键新特性!(将会持续更新中) JDK5新特性 自动装箱与拆箱 枚举 静态导入 可变参数(Varargs) 内省(intr ...
- thinkphp5数据库导入Excel表格
$data=$order_info; //$data 你要下载谁 就去查谁 // $data= Db::name('order_info') // ->field('consignee,tel, ...
- STM32(7)——通用定时器PWM输出
1.TIMER输出PWM基本概念 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种 ...
- Python学习:2.Python集成学习环境(IDE)Pycharm的安装配置以及激活方
一.下载Pycharm Pycharm作为Python现在最流行的集成开发环境,我们今后的Python的学习也就使用Pycharm进行,那今天我们就讲一下Pycharm的安装配置以及激活 1.我们首先 ...
- python函数(2017-8-2)
1. def 函数名(形式参数) 函数体 return "123" 函数执行了return之后就不再执行下面的代码 2. 默认形参实参的位置一一对应 如果要调整位置,指定形参名字 ...