以下内容是我学习《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!‘