变量的命名和使用:
1、变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头
2、变量名不能包含空格,但可使用下划线来分隔其中的单词
3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词
注意
就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意
input()
最后看一个有问题的条件判断。很多同学会用input()
读取用户的输入,这样可以自己输入,程序运行得更有意思:
birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
输入1982
,结果报错:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()
这是因为input()
返回的数据类型是str
,str
不能直接和整数比较,必须先把str
转换成整数。Python提供了int()
函数来完成这件事情:
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
再次运行,就可以得到正确地结果。但是,如果输入abc
呢?又会得到一个错误信息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'
在Python 2.7中获取输入
如果你使用的是Python 2.7,应使用函数raw_input() 来提示用户输入。这个函数与Python 3中的input() 一样,也将输入解读为字符串。Python 2.7也包含函数input() ,但它将用户输入解读为Python代码,并尝试运行它们。因此,最好的结果是出现错误,指出Python不明白输入的代码;而最糟的结果是,将运行你原本无意运行的代码。如果你使用的是Python 2.7,请使用raw_input() 而不是input() 来获取输入。
int() :获取数值输入
使用函数int() ,它让Python将输入视为数值。函数int() 将数字的字符串表示转换为数值表示
>>> age = input("How old are you? ")
>>> age = int(age)
求绝对值
>>> abs(10)
10
>>> abs(-10)
10
>>> abs(-1.2)
1.2
四舍五入
>>> round(1.234)
1.0
>>> round(1.234,2)
1.23
幂函数
>>> pow(2,3) #2的3次方
8
math模块
>>> import math #引入math模块
>>> math.floor(32.8) #取整,不是四舍五入
32.0
>>> math.sqrt(4) #开平方
2.0
type(object)来检测一个数是什么类型
>>> type(4)
<type 'int'> #4是int,整数
>>> type(5.0)
<type 'float'> #5.0是float,浮点数
type(988776544222112233445566778899887766554433221133344455566677788998776543222344556678)
<type 'long'> #是长整数,也是一个整数
关于除法
在python2中,整数除以整数,结果是整数(商);不管被除数还是除数,只要有一个数是浮点数,结果就是浮点数;
>>> 9.0/2
4.5
>>> 9/2.0
4.5
>>> 9.0/2.0
4.5
在python3中,将5/2和5.0/2等同起来了。不过,如果要得到那个整数部分的上,可以用另外一种方式:地板除.
>>> 9//2
4
引用模块
形式1:import module-name。import后面跟空格,然后是模块名称,例如:import os
形式2:from module1 import module11。module1是一个大模块,里面还有子模块module11,只用module11
>>> from __future__ import division
关于余数
符号:%,就是要得到两个数(可以是整数,也可以是浮点数)相除的余数。>>> 5%2
1
>>> divmod(5,2) #表示5除以2,返回了商和余数
(2, 1)
字符大小写的转换
S.upper() #S中的字母大写
S.lower() #S中的字母小写
S.capitalize() #首字母大写
S.istitle() #判断S各单词首字母是否为大写的
S.title() #S中的所有单词首字母大写
S.isupper() #S中的字母是否全是大写
S.islower() #S中的字母是否全是小写
字符串截取
注意:所截取部分的第一个字符(l)对应的编号是(2),从这里开始;结束的字符是(o),对应编号是(4),但是结束的编号要增加1,不能是4,而是5.还有几个比较特殊的
>>> a[2:5]
'llo'
>>> a[:] #表示截取全部
'Hello,wor ld'
>>> a[3:] #表示从a[3]开始,一直到字符串的最后
'lo,wor ld'
>>> a[:4] #表示从字符串开头一直到a[4]前结束
'Hell'
去掉字符串两头的空格
方法是:
S.strip() 去掉字符串的左右空格
S.lstrip() 去掉字符串的左边空格
S.rstrip() 去掉字符串的右边空格
>>> b=" hello "
>>> b
' hello '
>>> b.strip()
'hello'
>>> b
' hello '
>>> b.lstrip()
'hello '
>>> b.rstrip()
' hello'
运算符
** 幂 - 返回x的y次幂 10**2 输出结果 100
// 取整除 - 返回商的整数部分 9//2 输出结果 4 9.0//2.0 输出结果 4.0