1 Python脚本设计简介

1.1 输出"Hello World"

  和一般的语言一样,运行python程序有两种方式,一种是GUI交互式命令,一种是通过脚本文件,前者适合小型简单的任务,后者适合比较大型的。

  又是输出Hello World。。。。

  提出"Hello World"程序的Simon Cozen说:"它是编程之神的传统咒语,可以帮助你更好的学习语言"。

1.1.1 使用带提示符的解释器

  输出Hello World
  使用函数print
  print "Hello World"

1.1.2 使用源文件

#!/usr/bin/python
#Filename:HelloWorld
print "Hello World"

  保存后如果在linux环境下,需要先修改执行权限,然后像shell执行程序一样,或者使用python方式,python HelloWorld.py

  程序说明:Python至少应当有第一行那样的特殊形式的注释,它被称作组织行——源文件的头两个字符是#! 后面跟着一个程序.这一行告诉你的Linux/Unix系统,当你执行你的程序的时候,它应该运行哪个解释器。
  使用帮助:help('命令名称')

1.1.3 双斜线与整除

Python提供了用于实现整除的操作符————双斜线

>>> 1//2
0

就算是浮点数,双斜线也会执行整除

>>> 1.0//2.0
0.0

1.2获取用户输入——input函数

input函数是一种标准输入函数,用于获取用户的输入
示例1:

input ("The meaning of life: ")
The meaning of life:42
42

1.3 函数

函数在各种语言中都是很常见的,与数学中的函数不同,计算机里面的函数通常都是一种比较高层的已经封装好的,通常可以直接拿来用,而数学中的函数都是一种具体的算法。

示例1:乘方函数pow

pow(2,3)
8

示例2:abs函数
说明:该函数用于计算绝对值

abs(-10)
10

示例3:round函数
说明:该函数会把浮点数四舍五入为最接近的整数值

round(1.0/2.0)
0.5

示例4:floor函数(地板函数)和ceil函数(天花板函数)
说明:想象一下一个人站在一间房子里面,这个人的身高肯定是介于地板和天花板之间的。对应于地板的就是floor函数,对应于天花板的是ceil函数,他们分别取小于一个浮点数的最大的整数和大于一个浮点数的最小整数

math.floor(32.9)
32.0
>>> math.ceil(32.9)
33.0

实例5:cmath和sqrt
cmath即complex math 复数的意思。
sqrt是开平方,我们可以对复数开平方

>>> import cmath
>>> cmath.sqrt(-1)
1j

1.4 字符串

首先说明3种正引号、反引号、反斜线,然后再说对字符串的操作
3种正引号包括:单引号''、双引号""和三引号''' ''',注意双引号并不是两个单引号的简单叠加。两个单引号在一起是'' '' 而双引号是"",可以看出双引号比两个单引号放一起更加紧密。
反引号:``
反斜线:\
一般说的引号就是正引号。无论是正引号还是反引号都是成对的。正引号通常用于包字符串。python通常打印字符串的时候都会用单引号包起来。

>>> "hello"
'hello'
>>> 'hello'
'hello'
>>> ''' hello '''
' hello '

但是在有些情况下仅仅靠单引号是不够的例如我们要打出Let's go
'Let's go',系统会识别不出来单引号是从哪里开始包字符串,并且到哪里结束,这样就会编译错误。

>>> 'Let's go'
File "<stdin>", line 1
'Let's go'
^
SyntaxError: invalid syntax

我们可以用两种方法来解决这个问题

解决办法1:使用反斜线做转义字符

>>> 'Let\'s go'
"Let's go"

解决办法2:使用单引号或三引号

''' Let's go'''
" Let's go" >>> ''' Let\'s go '''
" Let's go "
" let's go"
" let's go"

对于双引号也是可以用转义字符来进行转义

例如"Hello World!" she said

>>> "\"Hello,world\""
'"Hello,world"' >>> '\"Hello,world\"'
'"Hello,world"'

总之使用单引号时候需要用反斜线转义,使用双引号或三引号时候可以不用转义符号解析。

反引号:``,反引号在shell里面也有,它是将它包的东西进行引用,并赋给一个变量。
示例:

temp = 32
>>> a = temp
>>> a
32
>>> print temp
32
>>> print `temp`
32

在比较早期的版本里面需要用反引号,在3.0以后的python版本,不需要反引号了

反斜线:\ 这个东东通常用于转义,没啥好挖掘的

1.5 对字符串的操作

示例1:字符串的拼接
拼接方式1:直接放一起

"hello""world"
'helloworld'

拼接方式2:使用连接符号+

>>> "hello" + "world"
'helloworld'

建议使用第二种,可读性更好

1.6 字符串的格式化输出

  str和repr函数
  通过前面的例子我们注意到,通过Python打印的字符串是被引号括起来的,这是因为Python打印值时会保持该值在Python代码中的状态,而不是你希望用户所看到的状态。如果使用print语句就不一样。

>>> "Hello World"
'Hello World'
>>> 1000L
1000L
>>> print "Hello World"
Hello World
>>> print 1000L
1000

  事实上这里涉及到了python对值处理的两种机制,这里分别用str和repr代表。对于str函数,它会把值转换为合理形式的字符串,以便用户可以理解。而repr会创建一个字符串,它以合法的python表达式的形式来表示值,这样方便对转换后进行再处理。

>>> print str("Hello World")
Hello World
>>> print str(1000L)
1000
>>> print repr("Hello World")
'Hello World'
>>> print repr("1000L")
'1000L'

1.7 input和raw_input的比较

input要求用户输入的是合法的表达式,比如字符串要带双引号,而raw_input要求输入的是普通的字符串。我们看一个例子:

>>> input("What's your name:")
What's your name:ren
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'ren' is not defined

问题在于ren并非python标准的表达式,我们可以修改一下:

>>> input("What's your name:")
What's your name:"ren"
'ren'

显然要用户输入时候还要带上引号是不可忍受的,raw_input的作用就是让用户不必输入引号,而是裸的(raw)字符串

>>> raw_input("what's your name;")
what's your name;ren
'ren'

一般情况下,我们都使用raw_input

1.8 长字符串、原始字符串和Unicode

长字符串:长字符串就是很长很长的字符串,如果需要些一个非常非常长的字符串,它需要跨多行,那就可以用三引号来包这个长字符串。

>>> print ''' this is
... a ver long string
... it starts from here
... and still continues
... "Hello World"
... still here '''
this is
a ver long string
it starts from here
and still continues
"Hello World"
still here

普通字符串也可以,但是需要用反斜线放在末尾

>>> print " hell \
... llo"
hell llo >>> print 'hel\
... ll'
helll

  在没有需要进行转义的情况下,单引号和双引号是等价的,如果有需要转义,单引号+转义效果和双引号和三引号效果是一样的。对于长字符串,三引号又和单引号+末尾转义和双引号+末尾转义等价,总之三引号是最强大的

原始字符串:我们知道反斜线有转义字符的作用。比如要打印一个路径C:\now\hello\ab\
可以使用转义字符:print 'c:\\now\\hello\\ab',看起来是十分麻烦的。还好python提供了一个关键字r,它表示与它贴在一起的字符串是是一个原始的字符串,也就是不会进行转义的。

>>> print r'C:\now\hello\ab'
C:\now\hello\ab

看起来不可思议~!

注意:不能在原始字符串r后面再用转义字符,否则会将反斜线也打出来的。并且如果有反斜线,也不能放在末尾。否则会编译错误。
Unicode字符串
  字符串常量的最后一种类型就是Unicode字符串。普通的字符串以8位的ASCII码形式存储,而Unicode字符串以16位Unicode字符,这样就可以表示更多的字符集,包括世界上大多数语言的特殊字符。
和使用原始字符串一样,加上字符u前缀即可。

>>> u"hello world"
u'hello world'

2 本章总结

  本章介绍了Python的很多细碎的知识,多操作即可。

Python程序设计1——基础知识的更多相关文章

  1. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  2. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  3. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  4. 基于Python的Flask基础知识

    Flask简介 Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask. 下面我们简单 ...

  5. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  6. Python音频处理基础知识,这不是轻轻松松~~~

    大家好鸭,我是小熊猫 咱今天来讲一讲音频处理的基础知识上才艺~~~ 1.声音的基础 2.python读取.wav音频 欢迎加入白嫖Q群:660193417### import wave import ...

  7. python这不是有手就行?——python音频处理基础知识

    大家应该都知道声音的基础吧? 啊不知道当我没说吧~~~ 1.声音的基础 2.python读取.wav音频 Python学习交流Q群:660193417#### import wave import s ...

  8. Python之进程 基础知识 上

    阅读目录 理论知识 操作系统背景知识 什么是进程 进程调度 进程的并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 在python程序中的进程操作 multiprocess模块 进程的创建和mu ...

  9. Python开发——1.基础知识

    一.开发 开发语言分为高级语言和低级语言 高级语言:Python.Java.PHP.C++.C#.GO.Ruby等:低级语言:C.汇编语言. 高级语言对应的是字节码,是将代码编译成字节码,然后交给机器 ...

随机推荐

  1. Django基于form组件实现注册校验

    一 基本流程 1 创建form组件对应的类,比如LoginForm 2 前端的三种渲染方式: 渲染方式三种: 1 <form action="" novalidate met ...

  2. CCTextFieldTTF 与 5种常用CCMenuItem

    //继承(class HelloWorld : public cocos2d::CCLayer, public cocos2d::CCTextFieldDelegate) CCTextFieldTTF ...

  3. php 中改变字符编码的函数 是 iconv()

    json_enocode()  此函数里边接收的数据必须是utf8格式.要不然会输出null

  4. php redis 操作手册

    String 类型操作 string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 1 $redis-&g ...

  5. C++语言对C的增强(1)——实用性、变量检测、struct类型、C++中所有变量和函数都必须有类型、bool类型、三目运算符

    1.“实用性”增强 C语言中的变量都必须在作用域开始的位置定义,C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义. 2.变量检测加强 在C语言中,重复定义多个同名的全局变量是合法的: ...

  6. 浅析BMP位图文件结构(含Demo)

    浅析BMP位图文件结构(含Demo) 作者:一点一滴的Beer http://beer.cnblogs.com/   关于BMP位图格式在网上可以找到比较详细的相关文档,有兴趣的可以搜索标题为“BMP ...

  7. 通过PowerShell命令给Azure VM添加CustomScriptExtension

    Azure的VM提供了一种管理工具叫Azure VM Extension.它实现了一些管理虚拟机所需要的重要功能,比如:重设密码.设置RDP参数.以及许多其他关键的功能,并且Azure VM一直在添加 ...

  8. Linux评估 CPU使用情况

    评价参数 1)CPU utilization:最直观最重要的就是CPU的使用率.如果长期超过80%,则表明CPU遇到了瓶颈:2)User time: 用户进程使用的CPU:该数值越高越好,表明越多的C ...

  9. ES之二:Elasticsearch原理

    Elasticsearch是最近两年异军突起的一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建.最近研究了一下,感觉 Elasticsearch 的架构以及其开源的生态 ...

  10. Regexp:正则表达式应用——实例应用

    ylbtech-Regexp:正则表达式应用——实例应用 1. 实例应用返回顶部 1. 1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A ...