【Python学习笔记】基础

数字
python3拥有3种数字类型 - 整数,浮点和复数(注: python3的整数类型已经被统一了,再没有短整数和长整数的分别)
•  例如,2是一个整数.
•  浮点数的例子如3.23, 52.3E-4. E代表10的幂,在这里52.3E-4等于52.3 * 10-4
•  -5+4j, 2.3 - 4.6j属于复数

python3没有"long int"类型,事实上python的整数可以任意大(注: 只是理论上的,再咋地存储器也不是无限的)


字符串
字符串是一个字符序列,经常用来表示字词. 字词可以是英语也可以是Unicode标准支持下的任何语言.
而unicode支持世界上绝大多数语言(http://www.unicode.org/faq/basic_q.html#16).

单引号
你可以将字符串放到单引号中,所有空白字符即空格和tab都回原封保留。

双引号
双引号和单引号的效果完全相同。

三引号
在指定多行字符串的时候可以利用三引号 - ("""'''), 在三引号中还能自由的使用单引号和双引号. 一个例子:
     '''This is a multi
     This is the second
     "What's your name?
     He said "Bond, Jam
     '''

转义字符
假设你想要一个带单引号(')的字符串,你会怎么写呢?例如What's your name?,
你不能写成'What's your name?', 因为python会搞不清字符串是从哪开始又是从哪结束.
所以你需要告诉python字符串中间的单引号并不是字符串的结束标志。利用转义字符可以做到这点.
将单引号替换成 /' - 注意反斜杠,这样字符串就变成'What/'s your name?'了.
另一个办法是使用双引号"What's your name?",

不过当你需要双引号的时候和单引号的情况类似,必须加上反斜杠 /", 而反斜杠也一样必须表示成//
如果你需要一个双行字符串呢? 一个办法是使用前面提到的三引号或者使用换行的转义字符/n开始新的一行, 
还有一个有用的转义字符/t表示tab, 转义字符太多了我只说了常用的.
另一个值得注意的地方是在一个字符串末尾的反斜杠表示这个字符串将被合并到下一行, 例如:
     "This is the first sentence./
     This is the second sentence."

上面的字符串等价于"This is the first sentence. This is the second sentence.".

原始字符串
如果你不希望python对字符串进行特别处理, 比如取消转义字符, 可以为字符串加上前缀r或R.
例如r"Newlines are indicated by /n".

字符串是不可变类型
这意味着创建一个字符串对象后就无法改变它了. 这听起来很糟糕, 其实非也, 后面见分解.

字面字符串连接 
如果你将两个字面字符串相邻, 它们会被python自动合并到一起.
例如'What/'s ' 'your name?'会变为"What's your name?"
C++程序员请注意
python没有单独的字符类型, 也没这个必要我保证你不会为此烦恼.
Perl/PHP程序员请注意
单引号和双引号字符串完全相同, 没有任何区别
正则表达式用户请注意
永远使用原始字符串编写正则表达式, 否则会需要大量的反斜杠, 例如反向引用可以表示为'//1'r'/1'.

字符串的format方法
有时我们需要使用额外信息构造字符串, 这时format就很有用了.
     #!/usr/bin/python
     # Filename: str_format.py
     age = 25
     name = 'Swaroop'
     print('{0} is {1} years old'.format(name, age))
     print('Why is {0} playing with that python?'.format(name))
输出:
     $ python str_format.py
     Swaroop is 25 years old
     Why is Swaroop playing with that python?

format如何工作?
一个string可以含有某些格式说明符, 随后调用的format将用你提供给它的参数替换对应的格式说明符.
观察上面的例子, {0}对应变量name它也是format的第1个参数. 与之类似{1}对应format的第2个参数age.
注意我们也可以使用字符串连接达到同样的目的: name + ' is ' + str(age) + ' years old'.
但是这种方式太乱啊, 很容易出错. 而且需要手动将变量转换为字符串而format可以为我们代劳.
最后, 使用format我们可以改变最终生成的字符串而不必修改传给format的变量, 反之一样.
format的本质就是将其参数替换到字符串中的格式说明符, 下面是一些更复杂的使用方式:
     >>> '{0:.3}'.format(1/3) #小数点后保留3位
     '0.333'
     >>> '{0:_^11}'.format('hello') #以下划线填充字符串到11位长, hello中间对齐
     '___hello___'
     >>> '{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python') 
     # 关键字格式化
     'Swaroop wrote A Byte of Python'

关于格式说明符的具体信息见Python增强提议No.3101(http://www.python.org/dev/peps/pep-3101/).

标识符命名
变量是标识符的一个例子,而标识符用于标识某些东西的名字。下面是一些命名标识符识必须遵守的规则:
•  标识符的第一个字符必须是字母(包括大小写ASCII字母或unicode字符)或下划线('_')(注: 没错,用中文试试哈)
•  后面的字符可以由字母(大小写ASCII字母或unicode字符),下划线('_')和数字组成.
•  标识符是大小写敏感的,例如 myname myName 是不同的 ,前者小写后者大写.
•  一些合法标识符的例子 i __my_name name_23 a1b2_c3 ,
   resumé_count.(注: 不知道乱码还是某国语言...)
•  非法标识符的例子,  2things my-name "this_is_inquotes"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值