首页 > 代码库 > 【python】(第一章)1.4 数字和表达式

【python】(第一章)1.4 数字和表达式

以下内容是我学习《Python基础教程》第2版  这本书所写的笔记 

转载请注明出处

1.

>>> 2.75%.5
0.25

【不同】C语言中取余运算必须为整数,不能是浮点型


2.

>>>(-3)**2

9

【不同】C语言中pow (double x,double n);(将返回x的n次幂)

【python 也有这个内建函数】

>>>pow(2,3)
8


1.7 获取用户输入

>>>x=input("x:")

x:

【不同】C语言中printf("please input x:");scanf("%d",&x);


1.8 函数

pow,abs,round 不需要导入模块,也不需要print。

>>>round(35.5)

36.0


1.9 模块

>>>import math    【不同】#includ<math.h>

>>>math.floor(32.5)
32.0
>>>int(math.floor(32.5)) 【不同】在C语言中c=(int)a;

32


>>>from math import sqrt        |  >>>import math
>>>sqrt(9)                                  |  >>>foo=math.floor

3.0                                               |  >>>foo(32.5)

                                                    |   32.0

                                                    |  >>>floor(32.5)                           

                                                    |   ...not defined


负数的平方根为虚数

>>>import cmath

>>>cmath.sqrt(-1)

1 j(虚数)
>>>(1+3j)*(9+4j)    【(a+bi)(c+di)=(ac-bd)+(bc+ad)i】
(-3+31j)            【可以直接计算不用导入cmath】


值被转换为字符串的两种机制

1.>>>print repr("Hello,world")   【""or‘‘都可以】

‘Hello,world!‘    【以合法的python表达式的形式来表示值】


2.>>>print str("Hello,world") 【合理形式的字符串】【print语句必须加】

Hello,world

【python打印值的时候会保持该值在python代码中的状态】

>>>"Hello,world"

‘Hello,world!‘


【使用print语句】

>>>print "Hello,world"

Hello,world


【字符串与数字相加】

【反引号在esc下面1的左边,不用按shift键】

>>>temp=42

>>>print "is:"+`temp`  【反引号】【必须加print】

is:42
>>>print "is:"+str(‘temp‘) 【str】【必须加print】
is:42
>>>print "is:"+repr(‘temp‘) 【repr】【必须加print】

is:‘42‘


【str,repr,反引号 是将python值转换为字符串的3种方式】

【str让字符串更容易阅读,而repr和反引号则把结果字符串转为合法的python表达式】


1.11.4 input 和 raw_input的比较

>>>name=input("what is your name?")

what is your name? " lili"

>>>print "Hello,"+name+"!"

Hello,lili!

【input会假设用户输入的是合法的python表达式,如果不用字符串输入会出错】

【要求用户带引号输入他们的名字有点过分】

【这就需要使用raw_input函数】

【它会把所有输入当做原始数据(raw data),然后将其放入字符串中】

>>>name=raw_input("what is your name?")

what is your name?lili

>>>print "Hello,"+name+"!"

Hello,lili!

【除非对input有特别的需要,否则应该尽可能使用raw_input】


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

长字符串

>>>"""is

...123

...+ll""" 【三个单引号也可以】

>>>‘is\n 123\n+11‘

>>>"""is\

...123\

...+ll""" 【不能前面三个双引号,后面三个单引号,三个单引号会被当成字符串】

>>>‘is123+11‘

【普通字符串也可以跨行,只要加上反斜杠,让换行符转义】
>>> \
...1+2

3


原始字符串

【原始字符串不会把反斜线当作特殊字符】

>>> print r ‘C:\nowhere‘
C:\nowhere
>>>print r ‘let\‘s go!‘

let\‘s go!


【不能在原始字符串结尾输入反斜线】

>>>print r "aaaa\"

error


【解决此类问题的技巧】

>>>print r ‘C:\program \foo\bar‘ ‘\\‘

C:\program \foo\bar\


Unicode字符串

【python的普通字符串在内部是以8位的ASCII码形式储存的】

【Unicode字符串则储存为16位】【可以储存世界上大多数语言的特殊字符】

>>>u ‘Hello,world!‘

u ‘Hello,world!‘



【python】(第一章)1.4 数字和表达式