一直听闻Python大名,故最近决定小探Python。
Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
个人感觉,Python还是有点类似于C语言的,大体上是相同的,只是侧重的方向不一样,而且添加了一点新的特性。那么,我们一起看看有什么新特性吧。
一、Python程序的基本架构
这一方面跟C语言一样的。
1、输入:变量赋值、输入语句
Python输入语句print函数
re = raw_input(【prompt】)
prompt:提示字符,字符串型的
re 为返回值
比如:raw_input("plz input a string:")
2、处理:算术运算、逻辑运算、算法处理
3、输出:打印输出、写入文件、写入数据库
Python输出语句print函数,基本使用方法
1、打印整型数据
2、打印浮点型数据
3、打印字符串数据,但字符串数据要带上单引号
4、同时打印出多个数据,可用逗号在数据之间进行连接,这样数据便会在同一行上输出。有逗号就是一行。可以同时打印多个变量。这是输出函数,不带括号也可以
5、格式化输出
print(format(val,fomat_modifier))
val:值
format_madifier:格式字,‘m.nf’
m:输出占位,数据右对齐,位数有余则留空格,否则左对齐打印输出
n:精度,小数点后面的数
对于浮点型的数据,在进行格式化输出的时候,并不是简单地对数据进行截取,二是会对其进行四舍五入处理,然后在进行输出。
比如:print(format(x,'2.2f'))
百分号格式化输出:
将‘%’替换‘f’,其他相同
二、Python变量。
这是与C语言,完全不同的新特性。
在Python之中,变量是可变化数据对象的程序标识符,指向的变化。一次定义,多次指向,每次指向不能改变其内容。而相比,C语言是一次指向,多次改变。
即是说,Python之中,变量就相当于静态的指针,其指向是指向内存之中一个代表该数据大小的数据单元,而每一次的赋值也只是更改变量所指向的数据单元而已,而这个数据单元之中对应的数据将是另外的一个固定的数据。变化的是指向,而不是其指向的数据单元的数据。不是内容的变,而是指向的变。
而C语言,每次的赋值都是对该内存空间、数据单元中的数据内容进行重新的赋值,更改的是内容,而不是指向,与Python正好相反。
比如,在Python中,y=x语句是指x、y指向相同的数据单元,指向的地址一样,是除了标识符不同外的同一个数据。
这是一种动态的数据类型结构,赋值什么即是什么,所以在Python之中,对于变量的定义,我们无需指定变量的类型。原因也是因为Python变量的这一特性。
即可总结为:
1、Python变量的‘变’是变指向,数据单元对应的id。
还可以通过id() i函数,得知该id在内存之中的地址。
而且不可通过变量名修改其指向数据单元的内容。
2、Python数据类型不需要指定type
3、对比一下c变量和Python变量不同
三、Python函数
Python工程师为我们提供了三种类型的函数,包括:
1、系统库提供内部函数
系统函数库包括:字符函数库(系统默认的)、数学函数库、网络函数库。
要使用系统函数库,就要导入包,导入格式为:import 包名
比如:import math import os
次方运算符:** 类似于math.pow()
os.getcwd() 返回当前的工作路径
listdir(path) -> list_of_strings 当前工作的路径,所有的文件和目录。将路径目下的文件盒目录名,返回回来
网络函数库import socket
baiduip = socket.gethostbyname('www.baidu.com')捕获某主机的ip地址
2、第三方提供的函数
可由网络上下载相关函数库
简单网页爬虫示例
import urllib
import webbrowser as web //用as取了个假名
url = "http://www.163.com"
content = urllib.urlopen(url).read()
open("jeapedu.html","w").write(content)
web.open_new_tab('jeapedu.html')
//打开一个新标签
//访问公网上的某网页
web.open_new_tab('http://jeapedu.html')
3、自定义函数
1)语法结构
这是Python的一个特性,与C语言有很大的区别,但问题不大,可以多编程来记住就成。
(1)使用冒号代替无花括号。而使用空格的缩进进行包含内容的区别。类似于C语言之中的花括号之间的语句。
(2)函数无返回值类型
(3)基本格式
def function_name([parameters]):
(TAB或者空格) statement1
(TAB或者空格) statement2
(TAB或者空格) statement3
无返回值
def funa([para1,para2.....]):
(TAB或者空格) statement1 语句
(TAB或者空格) statement2
(TAB或者空格) statement3
有返回值
def funa([para1,para2.....]):
(TAB或者空格) statement1 语句
(TAB或者空格) statement2
(TAB或者空格) statement3
....
return values1,values2,values3....valuesn
(4)函数的定义使用的是形参;函数的调用使用的是实参。
(5)Python 支持多值返回,对应的赋值,等号之前也要有n个变量,一一对应的赋值。
如:values1,values2,values3....valuesn = funa([para1,para2.....])
当然,也有
value = funa([para1,para2.....]) 会以圆括号的形式返回。
print value(values1,values2,values3....valuesn) 各个形参的值,叫做圆组,类似于数组
(6)预设值问题(可以不给已设好预定值的参数传参,可以重新修改其值)从左到右,有预定值的必须写在最右边
def funa([para1,para2....parai=default....paran=default]):
2)Python函数实参赋值顺序
(1)一般情况下是与形参是一一对应赋值
(2)可以指定形参一一赋值,如:fun(n2=3,n1=1),指定参数的名字。只是可以无视预定的顺序。
(3)有预定义值得参数不能先于无预定义值参数被赋值,当所有形参都被指定了,才可以。
新特性还有很多,但我还没有专研透彻,也在学习当中,暂时先写到这吧,算是对之前所学进行的一次总结,以后还会更新,亲大家多关注,谢谢。
分享到:
相关推荐
第二章:Python初探 第三章:变量类型和运算符 第四章:列表,元组,字典和集合 第五章:Python字符串常用方法 第六章:Python流程控制 第七章:函数和lambda表达式 第八章:Python类和对象 第九章:Python异常处理...
目录第1章Python编程基础第2章Python初探第3章变量类型和运第4章列表、元组、字典和集合第5章Python字符串常用方法第6章Python 流程控制第7章函数和 lambda表达式第8章Python 类和对象第9章Python异常处理机制第10章...
本基于 Python 数据可视化的网易云音乐歌单分析系统,我使用了 ...通过这次 Python 数据分析初探项目的实践,我巩固了 Python 的语法知识,熟练应用了各个第三方开源模块,为之后的 Python 数据分析学习打下基础。
"Flash初探"可能指的是使用Python进行Flash内容的创建、处理或模拟,尽管Adobe Flash本身已不再支持,但其背后的原理和技术在Web开发中仍有借鉴价值。 首先,让我们了解Python。Python是一种高级编程语言,以其易读...
以下是从“Python初探”教程中提炼的关键知识点,旨在帮助初学者快速掌握Python的基本用途、特性以及应用场景。 #### Python适用场景 1. **脚本编写**:Python常用于替代shell、awk、sed等脚本语言,适用于自动化...
### Python 3 初探:探索新特性与变化 Python 3 的发布标志着 Guido van Rossum 对这一强大通用编程语言的一次重大升级。尽管它放弃了与 Python 2.x 版本的向后兼容性,但引入了一系列重要的改进,不仅简化了语法,...
这篇详细的文章将带你初探这个强大的组合,通过实践来学习如何利用Python与Qt Designer进行高效开发。 首先,Python是一种广泛使用的高级编程语言,以其简洁、易读的语法而闻名,适合各种项目,包括Web开发、数据...
在信息技术教学领域,特别是在高中阶段,Python已经成为了一门重要的编程语言。本文探讨了核心素养在高中信息技术Python教学中的重要性,并试图将核心素养的理念有效融入Python教学实践中。核心素养是指通过教育培养...
通过这次 Python 数据分析初探项目的实践,我巩固了 Python 的语法知识,熟练应用了各个第三方开源模块,为之后的 Python 数据分析学习打下基础。这个项目是我大三写的,现在回顾已经非常粗糙,分享出来一方面希望...
Python与机械教育初探.pdf
非计算机专业Python语言程序设计教学体系建设初探.pdf
Python 数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统(高分期末大作业)使用了 Python 丰富的第三方开源模块,如 numpy, pandas, matplotlib, time, requests, squarify, jieba, wordcloud, bs4 ...
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,...
Python在网络空间安全中的应用初探.pdf
基于学科核心素养的高中信息技术Python教学初探
根据提供的文件信息,本文将对Python语言程序设计课程建设的相关知识点进行详细说明。 首先,Python是一种免费、开源的高级动态编程语言,具有简洁易读的语法、高度可读性和良好的可扩展性。Python拥有大量内置对象...
在本文中,我们将探讨如何使用Python进行人脸识别,主要依赖于OpenCV库。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了大量的图像处理和计算机视觉的算法。在Python中,我们...
此外,在Python课程中,可以减少学生在代码格式错误上花费的时间和精力,有助于他们更快地进入编程思维和问题解决的过程。 三、高中Python课程教学现状和存在的问题 目前高中Python课程教学面临一些挑战。首先,...
《Python源码剖析》共两部分,是一部分析Python的好书,通过学习《Python源码剖析》,你...第1章 Python对象初探 1.1 Python内的对象 1.1.1 对象机制的基石--PyObject 1.1.2 定长对象和变长对象 1.2 类型对象 ……