一、变量
由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如把用户键入的文本保存到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | print |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
声明变量:
所有 Python 的关键字只包含小写字母。上面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
1 #_*_coding:utf-8_*_2 3
name
上述代码声明了一个变量,变量名为name,变量name的赋值为‘Sakura 99’
变量的赋值:
1 name1 = ‘Sakura 99’2 3 name2 = name1 4 print(name1,name2) 5 6 name1 = ‘Xiao 99’ 7 8 print(‘What is
name
二、数据类型初步
⒈数字
①int(整型)
99是一个整数的例子。长整数是一个大一点的整数。
在32位系统上,整数的位数为32位。
在64位系统上,整数的位数为64位。
②float(浮点数)
2.99,2.99E-9是浮点数的例子,E标记表示的是10的幂,在这里2.99E-9表示的是2.99*10-9。
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
③complex(复数)
(-2-4i),(4+8i)是复数的例子,其中-2,4是实数,-4i,8i为虚数。
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
⒉布尔值(boolean)
真(True)或假(False),1或0
⒊字符串(string)
‘hello world’用引号(单引号双引号)扩起来的一串字符为字符串。
字符串格式化输出:
1 name = input('name:') 2 age = input('age:') 3 job = input('job:') 4 salary = input('salary:')
5
6 '''python2.x 中 raw_input = python3.x中的 input'''
7 #在字符串中引用外面的变量%s,相当一个占位符(s为string)
8 #例如%d只能接受数字类型,%f为浮点数
9 info = '''
10 ---------info of %s--------------
11 Name:%s
12 Age:%d
13 job:%s
14 salary:%s
15 ''' %(name,name,int(age),job,salary)
16 print(info)
17
18
19 info2 = '''
20 ---------info of {_name}--------------
21 Name:{_name}
22 Age:{_age}
23 job:{_job}
24 salary:{_salary}
25 '''.format(_name = name,
26 _age = str(age),
27 _job = job,
28 _salary = salary)
29 print(info2)
30
31
32 info3 = '''
33 ---------info of {0}--------------
34 Name:{0}
35 Age:{1}
36 job:{2}
37 salary:{3}
38 '''.format(name,age,job,salary)
39 print(info3)
string
PS. 字符串是%s,整数是%d,浮点数为%f
字符串常用操作:
- 移除空白
- 分割
- 长度
- 索引
- 切片
⒋列表(arraylist)
创建列表:
1 name_list = ['sakura', '99', 'xiao 99']
2 或
3 name_list = list(['sakura', '99', 'xiao 99'])
name_list
列表常用操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
⒌元组(不可变的列表)
创建元祖:
1 ages = (11, 22, 33, 44, 55)
2 或
3 ages = tuple((11, 22, 33, 44, 55))
ages
⒍字典(dictionary)
创建字典:
1 person = {"name": "sakura", 'age': 22}
2 或
3 person = dict({"name": "sakura", 'age': 22})
person
PS.字典是无序的
字典常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
三、数据运算
算术运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
1 #!/usr/bin/python
2
3 a = 60 # 60 = 0011 1100
4 b = 13 # 13 = 0000 1101
5 c = 0
6
7 c = a & b; # 12 = 0000 1100
8 print "Line 1 - Value of c is ", c
9
10 c = a | b; # 61 = 0011 1101
11 print "Line 2 - Value of c is ", c
12
13 c = a ^ b; # 49 = 0011 0001 #相同为0,不同为1
14 print "Line 3 - Value of c is ", c
15
16 c = ~a; # -61 = 1100 0011
17 print "Line 4 - Value of c is ", c
18
19 c = a << 2; # 240 = 1111 0000
20 print "Line 5 - Value of c is ", c
21
22 c = a >> 2; # 15 = 0000 1111
23 print "Line 6 - Value of c is ", c
View Code
运算符的优先级:
更多详细内容:请点这里
四、Python语法基础
⒈第一个Python程序
交互式编程:
交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。
windows上你只需要在命令提示符中输入 Python 命令即可启动交互式编程,提示窗口如下:
在Python提示符中输入以下文本信息,然后按enter键查看运行结果:
>>> print('Hello World!')
脚本式编程:
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。
让我们写一个简单的 Python 脚本程序。所有 Python 文件将以 .py 为扩展名。将以下的源代码拷贝至Hello_World.py
1 print('Hello World!')
⒉行和缩进
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:
if True:
print('True')
else:
print('False')
indent
以下代码会报错:
if True:
print "Answer"
print "True"
else:
print "Answer"
# 没有严格缩进,在执行时会报错
print "False"
IndentationError
IndentationError: unexpected indent 错误是 python 编译器是在告诉你缺少必要的缩进,所以Python对格式的要求非常严格。
⒊print输出
print输出默认是换行的,如果要实现不换行,就需要改变print默认换行的属性,在变量末尾加上end='':
方法如下:
print('contents', end='!@#$%^&*')
end就表示print将如何结束,默认为end=‘\n’(换行)
1 x="a"
2 y="b"
3 # 换行输出
4 print(x)
5 print(y)
6
7 print('------------')
8
9 # 不换行输出
10 print(x,end=' ')
11 print(y)
end
以上实例执行结果为:
a
b
------------
a b
Python可以同一行显示多条语句,方法是用;分隔开,如:
print('Sakura love',end=' ');print('99')
显示结果为:
Sakura love 99
⒋input输入
input语句执行后就会等待用户输入,按回车键后就会退出。
1 name = input("What is your name?")
2 print("Hello " + name + '.' )
在输入密码时,如果期望密码不可见,可以利用getpass模块中的getpass方法:
1 import getpass
2
3 # 将用户输入的内容赋值给 name 变量
4 pwd = getpass.getpass("请输入密码:")
5
6 # 打印输入的内容
7 print(pwd)
Password
⒌Python注释
Python中单行注释用#开头(注释可以在语句或表达式行末):
1 # 第一个注释
2 print('Hello, Python!'); # 第二个注释
python 中多行注释使用三个单引号(''')或三个双引号(""")。
注释:
当行注释: #被注释内容
多行注释: ‘’‘被注释内容’‘’
1 '''将以下内容全部注释
2
3 _username = 'sakura'
4 _password = 'asd'
5 username = input('username:')
6 password = input('password:')
7 if username == _username and password == _password:
8 print('Welcome user {name} login csdn!').format(name=username)
9 else:
10 print('Invalid username or password!')
11
12 '''
View Code
⒍Python空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
笔记:
脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单。
#!/usr/bin/python
#!/usr/bin/env python(推荐): 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。
#!/usr/bin/python
#!/usr/bin/env python 会去环境设置寻找 python 目录,推荐这种写法