参考《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程序设计——基本语言特性的更多相关文章

  1. Python的动态语言特性; __slots__属性

    python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...

  2. 转--Python语言特性

    1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...

  3. Python语言特性

    1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...

  4. Python的语言特性

    1.Python的函数传参 Python中所有的变量都可以理解为内存中一个对象的“引用”,或者,也可以看似C中的void *的感觉.这里记住的是类型是属于对象的,而不是变量.对象分为两种: 可更改的: ...

  5. 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境

    承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...

  6. python语言特性-------python2.7教程学习【廖雪峰版】(一)

    开始学习廖雪峰的py2.7教程: 2017年6月5日12:54:28 笔记: 廖雪峰python2.7教程1.用任何编程语言来开发程序,都是为了让计算机干活.  2.Python是一种相当高级的语言. ...

  7. Python 的语言特性

    谈谈对 Python 和其他语言的区别 Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植.可扩展,可嵌入的解释型编程语言,属于动态语言. ...

  8. python基础-初识Python和不同语言之间的区别

    一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...

  9. python之 python 起源、语言特点

    一. 1.1  什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...

随机推荐

  1. mysql时间日期函数

    now(), current_timestamp(); -- 当前日期时间 current_date(); -- 当前日期 current_time(); -- 当前时间 date('yyyy-mm- ...

  2. Windows下同时安装Anaconda2与Anaconda3

    1. 安装一个作为主版本,比如先安装Anaconda2,安装时选择[添加path环境变量].我的安装地址为:E:\ProgramData\Anaconda3 2. 安装另一个版本python,安装时注 ...

  3. 【luogu P3372 线段树1】 模板

    线段树的模板题 题目链接:https://www.luogu.org/problemnew/show/P3372 update区间修改,query区间求和 #include <iostream& ...

  4. Java基础随笔2

    各类运算符: 算数运算符::+,-,*,/,%,++,-- ++:自增 --:自减 单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的. 参与操作的时候: 如果++或者--在变量的 ...

  5. Django中ORM常用字段类型及参数

    常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...

  6. MySQL备份恢复之Xtrabackup

    Preface       Today,I'm gonna use the Xtrabackup tool to demonstrate the procedure of backing up MyS ...

  7. nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)

    解决办法: nginx nginx -s reload

  8. 【redis常用的键值操作及性能优化】

    服务端 启动redis服务 { // -a:指定密码 -h:指定主机 -p:指定端口 } //让redis 服务中断崩溃 //保存和关闭 //后台备份 //设置登录密码 //redis-benchma ...

  9. PADS快捷键

    问:在pads layout中怎样显示或隐藏铺铜的效果 答: 无模命令:po 或者spo 前者是平面层 后者是混合层. 同时你可以在ctrl+alt+c 色彩项中关闭 copper . 使用 无模命令 ...

  10. Python基本图形绘制

    turtle的一个画布空间最小单位是像素 turtle的绘制窗体:turtle.stup(width,heigth,startx,starty) 四个参数中后两个可选 turtle空间坐标体系:tur ...