Python学习笔记--基础篇1
2017-11-24 22:26
239 查看
Python学习笔记--基础篇1
表达式
int 类型>>>17 / 10
1
在Python中,表达式所包含值的类型会决定所产生结果的类型。注意,Python不会对整数表达式进行四舍五入。
在Python3.0中的除法,5/2的结果会是2.5而不是2.
>>>17 % 10
7
>>>-17 / 10
-2
>>>-17 % 10
3
>>>17 % -10
-3
float类型
>>> 17.0 / 10.0
1.7
当表达式的两个操作数中有一个是浮点型时,Python会自动将整型值转换为浮点值。
>>>17.0 / 10
1.7
算数运算符
运算符 | 符号 | 范例 | 结果 |
- | 求反 | -5 | -5 |
* | 乘法 | 8.5*3.5 | 29.75 |
/ | 除法 | 11/3 | 3 |
% | 余数 | 8.5%3.5 | 1.5 |
+ | 加法 | 11+3 | 14 |
- | 减法 | {5-19}} | -14 |
** | 乘方 | 2**5 | 32 |
运算符 | 符号 |
** | 乘方(幂) |
- | 求反 |
*,/ ,% | 乘法、除法和余数 |
+,- | 加法和减法 |
变量和赋值语句
>>>number = 3>>>number
3
>>>number = 2 * number
>>>number
6
>>>number = number * number
>>>number
36
实际上,Python中的“=”并不是“等于”的意思,而是“将某个值赋给”的意思。
组合运算符
>>>number = 100
>>>number -= 80
>>>number
20
组合运算符有+=, *=, -=
当出现错误的时候
变量是通过赋值的方式创建出来的,如果我们试图使用一个还没有创建出来的变量时,会出现什么情况呢?>>>3 + something
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'something' is not defined
最后一行错误信息告诉我们,不认识something这个名字。
下面你可能还会经常看到另一个错误消息:
>>>2 +
File "<stdin>", line 1
2 +
^
SyntaxError: invalid syntax
这条消息的意思是,我们违反了Python的语法规则,就本例而言,我们只说了要给2加上某个东西,但却没有指定那个东西是什么。
函数基础
定义将80华氏温度值转换成摄氏温度值。f(t)=5/9(t-32)。下面是这个转换函数的Python版本:>>>def to_celsius(t):
return (t - 32.0) * 5.0 / 9.0
Python函数跟数学函数有如下主要区别:
1、函数定义是另一种Python语句,该语句定义的是一个新的名字,这个名字的值更为复杂,但仍然是一个值;
2、关键字def用于告诉Python,正在定义一个新的函数;
3、在给函数命名时,我们会使用一个更容易理解的词语,而不是像 f 那样的字符;
4、用的是冒号,而不是等号;
5、函数的实际公式定义在下一行,改行缩进4个空格,并以关键字return 标记。
执行to_celsius函数
>>>to_celsius(80)
26.66666666668
局部变量
>>>def polynomial(a, b, c, x)
first = a * x * x
second = b * x
third = c
return first + second + third
>>> polynomial(2, 3, 4, 0.5)
6.0
first, second, third这样创建于函数内部的变量称为局部变量。这种变量只存在于函数执行的过程中。当函数执行完毕,这些变量就不存在了。试图在函数外部访问局部变量的做法是会导致出错的,跟访问一个没有定义的变量是一样的。
内置函数
Pyton自带了许多用于完成常见任务的内置函数,abs就是其中之一,它用于求取给定数字的绝对值。
>>>abs(-9)
9
round也是一个内置函数,用于将一个浮点数四舍五入为一个与之最为接近的整数。
>>>round(3.8)
4,0
>>>round(3.3)
3.0
>>>round(3.5)
4.0
pow函数,求幂函数
>>>pow(2, 4)
16
数据类型转换的函数,int()和float().
>>>int(34.6)
34
>>>float(21)
21.0
当把浮点数转换为整数时,它是直接被截断的,而不是四舍五入得到。
字符串
在Python中声明一个值是字符串的方法是:在它的两边加上单引号或双引号。引号必须配对才行。把两个字符串并排放到一起就可以将它们连接成一个字符串。
>>>'Albert' 'Einstein'
'AlbertEinstein'
>>>'Albert' + ' Einstein'
'Albert Einstein'
当‘+’有两个字符串操作数时,它就变成了字符串连接运算符。“+”是一种重载的运算符,根据操作数的数据类型的不同,会执行完全不同的函数。
运算符“+”不能用在一个字符串和一个数字值制件,原因是它搞不清楚我们到底要使用哪个“+”,用于对数字求和还是用于连接字符串。
>>>'12' + str(34) + '56'
'123456'
虽然Python不允许将“+”用在字符串和数字之间,但不意味着别的操作符不行。例如“*”这个运算符重复一个字符串。
>>>'AT' * 5
'ATATATATAT'
如果整数小于等于0,该运算符产生一个空字符串。
字符转义
如果需要在字符串中放一个双引号,则可以用单引号将字符串括起来。但如果需要在一个字符串中同时使用这两种引号,使用反斜杠与单引号组成一个转义序列。
>>>'She said, ''That\'s hard to read.'' '
'She said, ''That's hard to read.'' '
转义序列
转义序列 | 说明 |
\n | 行尾 |
\\ | 反斜杠 |
\' | 单引号 |
\'' | 双引号 |
\t | 制表符 |
EOL的意思行尾,如果能扩展到多行,将字符串两端的单引号或双引号分别替换成三个即可。
>>>'''One
Two
Three'''
'One\nTwo\nThree'
三大主流操作系统用于表示行尾的字符序列是不同的,这个序列叫做newline;在Linux中,一个newline就是一个“\n”字符;在MacOS中,则是一个"\r";而在Windows中,行尾是"\r\n"。不管在什么地方,Python总是用一个“\n”表示一个newline,因此不需要考虑最终会在哪种机器上运行。
打印输出
>>>print 1 +1
2
>>>print "The Latin ' Oryctolagus cuniculus' means 'domestic rabbit'.''
The Latin 'Oryctolagus cuniculus' means 'domestic rabbit'.
print在打印字符串时,会剥离字符串两边的引号,直接把字符串的内容显示出来。并且,在打印字符串时,会直接将其中的转义序列的值打印出来,而不是带着反斜杠的那种表达形式。
>>>print 'one\ttwo\nthree\tfour'
one two
three four
格式化打印输出
>>>print "The area of the circle is %f sq cm.'' %area
The area of the circle is 78.539750 sq cm.
%f是一个转换定义符,它声明了变量area的值应该插入到的地方。还有一些别的转换定义符,%s用于插入一个字符串值,%d用于插入一个整数。%后面的那个字母叫做转换类型。还可以用字符串格式化运算法一次性输出多个值。
>>>rabbit = 17
>>>cage = 10
>>>print "%f rabbits are in cage #%d." %(rabbits, cage)
17.000000 rabbits are in cage #10.
print将会自动在字符串的末尾加上一个新行。为了防止输出结果被加上新行,可以在print语句的末尾加上一个逗号。
>>>print rabbits,
17>>>
用户输入
raw_input的作用是从键盘上读取一行文本。raw意味着将以字符串的形式返回用户输入的一切内容,哪怕有些内容看上去像是一个数字。
>>>line = raw_input()
Galapagos Islands
>>>print line
Galapagos lslands
>>>line = raw_input()
123
>>>print line * 2
123123
如果你希望用户输入一个数字,必须用Int或float将得到的字符串转换成所需的类型,
>>>value = raw_input()
123
>>>value = int(value)
>>>print value * 2
246
最后,raw_input还可以接收一个字符串参数,该参数将用于对用户进行提示
>>>name = raw_input("please enter a name : ")
Please enter a name: Darwin
>>>print name
Darwin
相关文章推荐
- Python学习笔记(基础篇)_008_函数
- python学习笔记六之初识面向对象上(基础篇)
- python学习笔记一(基础篇)
- Python学习笔记(基础篇)_009_嵌套函数
- Python学习笔记(基础篇)_010_lambda表达式
- Python学习笔记(基础篇)_011_字典
- Python学习笔记(基础篇)_012_集合
- python学习笔记二之数据类型(基础篇)
- Python学习笔记(基础篇)_013_pickle模块
- Python学习笔记--基础篇
- python 学习笔记1 -- 基础篇
- Python学习笔记--基础篇5
- Python学习笔记--基础篇4
- Python学习笔记1--基础篇--基本原书抄写一遍
- python学习笔记三之函数(基础篇)
- 【Python学习笔记之一】基础篇
- python学习笔记——基础篇(0):python环境搭建
- Python学习笔记(基础篇)_001_字符串转义
- python学习笔记五之模块上(基础篇)
- python学习笔记三之深浅copy,扩展数据类型(基础篇)