3.Python编程语言基础技术框架
3.Python编程语言基础技术框架
3.1查看数据项数据类型
type(name)
3.2查看数据项数据id
id(name)
3.3对象引用
备注Python将所有数据存为内存对象
Python中,变量事实上是指向内存对象的引用
动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)
“=”用于将变量名与内存中的某对象绑定:如果对象事先存在,就直接进行绑定;否则由“=”创建引用的对象
变量命令规则
只能包含字母、数字和下划线,且不能以数字开头
区分字母大小写
禁止使用保留字
命令惯例
以按单一下划线开头变量名(_x)不会被from module import * 语句导入
前后有下划线的变量名(__x__)是系统定义的变量名,对python解释器有特殊意义
以两个下划线开头但结尾没有下划线的变量名(__x)是类的本地变量
交互模式下,变量名“_”用于保存最后表达式的结果
注意:变量名没有类型,对象才有
3.4组合数据类型
数据结构:通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合
Python常用的组合数据类型
序列类型
列表:使用[]创建,如[‘Call’,’me’,’Tshmeal’,’.’](不可改变)
元组:使用()创建,如(‘one’,’two’)(可改变)
字符串也属于序列类型
做切片:name = “string”
name[0:2]:st
name[:2]:st
name[2:]:ring
name[2:3]:r
name[0:4:2]:sr --指定步进为2
len(name):6
列表是可变序列,元组是不可变序列
实际上,列表和元组并不是真正存储数据,而是存放对象引用
Python对象可以具有其可以被调用的特定“方法(函数)”
元组、列表以及字符串等数据类型是“有大小的”,也即,其长度可使用内置函数len()测量
集合类型
集合
Python中,组合数据类型也是对象,因此其可以嵌套
[‘hello’,’world’,[1,2,3]]
映射类型
字典
3.5逻辑操作符
逻辑运算是任何程序设计语言的基本功能
Python提供了4组逻辑预算
身份操作符
is:判定左端对象引用是否相同于右端对象引用;也可以与None进行;
比较操作符
<, >,<=,>=, !=, ==
成员操作符
in或not in:测试成员关系
逻辑运算符
and, or, not
3.6输入输出
输入
input()、raw_input()
Python解释器提供了3种标准文件对象,分别为标准输入、标准输出和标准错误,它们在sys模块中分别以sys.stdin、sys.stdout和sys.stderr形式提供
Python的print语句实现打印一个对程序员友好的标准输出流接口
从技术角度来讲,print是把一个或多个对象转换其文本表达形式,然后发送给标准输出或另一个类似文件的流
在Python中,打印与文件和流的概念联系紧密
文件写入方法是把字符串写入到任意文件
print默认把对象打印到stdout流,并添加了一些自动的格式化
实质上,print语句只是Python的人性化特性的具体实现,它提供了sys.stdout.write()的简单接口,再加上一些默认的格式设置
print接受一个逗号分隔的对象列表,并未行尾自动添加一个换行符,如果不需要,则在最后一个元素后添加逗号
输出格式化
print “String %format1 %format2 ...” %(variable1, variable2, ...)
num = 7.9
print “The num is %f” % num
7.900000
dir(__builtins__) 查看内置函数
help(str) 查看str函数如何使用
字符 输出格式
d,i 十进制整数或长整数
u 无符号整数或长整数
o 八进制整数或长整数
x 十六进制整数或长整数
X 十六进制整数(大写字母)
f 浮点数,如[-]m.dddddd
e 浮点数,如[-]m.dddddde_+XX
E 浮点数,如[-]m.ddddddE_+XX
g,G 指数小于-4或更高精度时使用%e或%E,否则使用%f
s 字符串或任意对象。格式化代码使用str()生产字符串
r 同repr()生成的字符串
c 单个字符
% 字面量%
%后面可以使用的修饰符,(如果有,则只能按如下顺序)
%[(name)][flags][width][.prcecision]typecode
位于括号中的一个属于后面的字典的键名,用于选出一个具体项
下面标志中的一个或多个
-:表示左对齐,默认为右对齐
+:表示包含数字符号,正数也会带”+”
0:表示一个零填充
一个指定最小宽度的数字
一个小数点,用于按照精度分割字段的宽度
一个数字,指定要打印字符串中的最大字符个数,浮点数中小数点之后的位数,或者整 数的最小位数;
例子:
d={‘x’:32, ‘y’:27.490325, ‘z’:65}
print “%(x)-10d %(y)0.3g” % d
3.7字典
a11 = {‘a’:1, ‘b’:2}
a11[‘a’]
3.8函数的创建与调用
函数是实现模块化编程的基本组件
Python使用def语句定义函数
函数可以参数化,通过传递不同的参数来调用
每个Python函数都有一个返回值,默认为None,也可以使用”return value”明确定定义返回值
def语句会创建一个函数对象,并同时创建一个指向函数的对象引用
函数也是对象,可以存储在组合数据类型中,也可以作为参数传递给其他函数
callable()可用于测试函数是否可调用
例子:
def testFunc(arg1):
print arg1
callable(testFunc)
True
testFunc(‘hello world!’)
hello world!
内置函数
dir()、id()、type()、str()、help()、len()、callable()
导入模板
import random
d=random.choice([‘a’, ‘b’, ‘c’])
print d
b
3.Python编程语言基础技术框架的更多相关文章
- python 编程语言基础技术框架
python标识符身份 id方法查看唯一标示符,内存地址 >>> a = "str" >>> b = 2 >>> id(a) ...
- Python编程语言基础
今天给大家讲解python语言基础~~ 01.python核心数据类型 整型数 int:整数是不带有小数部分的数字 浮点型数 float:浮点数是带有小数部分的数字(小数部分可以是0) 复数 co ...
- 『Python基础-1 』 编程语言Python的基础背景知识
#『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...
- 你得知道这3个最基础的APP技术框架
出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设 ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- 《转》python学习--基础上
学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...
- Django,Flask,Tornado三大框架对比,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Django 与 Tornado 各自的优缺点Django优点: 大和全(重量级框架)自带orm,template,view 需要的功能也可以去找第三方的app注重高效开发全自动化的管理后台(只需要使 ...
- 1.Python编程基础
1. 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. 虽然借助 Siri(Apple).Google Now(Android) ...
- 《转》python学习基础
学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...
随机推荐
- Scala:使用Sublime开发Scala
Scala:使用Sublime开发Scala 第一步:[Tools][Build System][New Build System] 第二步:在打开的新文件中输入: { //"cmd&quo ...
- hdu Pie
这道题是一道二分搜索的题,首先计算出最大的平均体积:mx=V总/f:然后去left=0,right=mx,mid=(left+right)/2进行二分搜索,当所有pi分割出的mid的个数是大于等于f时 ...
- MS14-068 privilege escalation PoC: 可以让任何域内用户提升为域管理员
https://github.com/bidord/pykek ms14-068.py Exploits MS14-680 vulnerability on an un-patched domain ...
- BZOJ 2120 数颜色(带修改的莫队)
2120: 数颜色 Time Limit: 6 Sec Memory Limit: 259 MB Submit: 3478 Solved: 1342 [Submit][Status][Discus ...
- GTX 770 (GK 104)
上周的这个时候,NVIDIA GeForce 700系列的旗舰产品GTX 780正式发布,传闻已久的GTX 700家族终于来了!虽然没有任何新架构.新特性的旗舰卡发布总让人觉得少点什么.但从性能上来说 ...
- VC++6.0 显示行号
通过VC6LineNumberAddin能够解决这个问题,方法如下. 一.下载该文件. 网上很多免费的. 二.使用方法: [1]:打开VC++6.0,点击菜单“工具(Tools) ...
- 第十章:鸟哥的Linux私房菜
第十章.vim程式编辑器 1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档.救援回复与开启时的警告讯息 ...
- ecshop session机制
ecshop session机制 2014-06-12 1455 懒人程序 ecshop的cls_session.php分析,主要是讲述ecshop中的session机制.我们都知道 ...
- 读取C#AssemblyInfo文件中的AssemblyVersion中的值
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 1.程序集的版本信息由下面四个值组成:主 ...
- jQuery 利用 $.getJson() 实现跨域
数据量不大时,跨域的不二之选,而且操作简单,易上手. a.com/test.html //这里我假定有一些数据: var formData = form.serialize(); //这里的jsonc ...