Python笔记第1章,流程控制,用户交互,语法要求,变量,字符,注释,模块导入的使用
2016-06-27 15:59
796 查看
<--目录-->
1)Pyhton优点
2)Python缺点
3)优秀程序员要求
4)写代码时需要做的工作
5)语法要求
6)Python数据类型
7)运算符
8)注释
9)字符编码
10)导入模块
11)字符串格式化
12)raw_input交互和input交互
13)流程控制
1、Python优点
简单、优雅、明确
强大的模块三方库
易移植
面向对像
可扩展(c\java\c#...)
2、Python缺点
代码不能加密
速度慢
3、优秀程序员要求
实现要实现的功能
代码简洁易懂
代码容易扩展
4、写代码时需要做的工作
画流程图
写阅读文档
重要逻辑加注释
5、语法要求
- 缩进统一
- 变量
标识符的第一个字符必须是字母(大写或小写),或者一个下载线('_')
标识符名称的其他部分可以由字母(大写或小写)、下载线('_')或数字(0-9)组成
标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后中者的大写N。
有效标识符名称的例子有i、_my_name、name_23和a1b2_c
无效标识符名称的例子有2things、this is spaced out和my-name
6、Python数据类型
7、运算符
128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1
0 0 0 0 1 0 1 0 = 10
0 0 0 1 0 1 0 0 = 20
0 0 0 1 1 1 1 0 = 30
8、注释
#号:单行注
'''号:多行注释,前面不加print即可
如果前面加print的话如:
9、字符编码
#unicode转换为utf-8
10、导入模块
#终端实践
#脚本案例
#Python导入模块的三种方法
11、字符串格式化
% 标记转换说明符
s 代表字符串
d 代表进制数
x 代表十六进制数
f 代表浮点数
i 表示整数
12、raw_input和input用户交互
先说raw_input和input的区别:
raw_input:默认是字符串模式,交互时输入字符串不用加引号
input:交互时输入字符串必须加引号,如果原生是字符串,他就是字符串类型,原生是数字,他就是数字类型,原生是变量,就引用你的变量,%d代表十进制,也就是要你一定要输入数字,不需要用到数字的场合,用%s即可
代码例子:
13、流程控制
1)if...else...
代码示例:
代码示例:
代码执行
3)while循环
例子1:
例子2:
例子3:
14、break和continue
break:表示跳出整个循环
continue: 表示结束本次循环
1)Pyhton优点
2)Python缺点
3)优秀程序员要求
4)写代码时需要做的工作
5)语法要求
6)Python数据类型
7)运算符
8)注释
9)字符编码
10)导入模块
11)字符串格式化
12)raw_input交互和input交互
13)流程控制
1、Python优点
简单、优雅、明确
强大的模块三方库
易移植
面向对像
可扩展(c\java\c#...)
2、Python缺点
代码不能加密
速度慢
3、优秀程序员要求
实现要实现的功能
代码简洁易懂
代码容易扩展
4、写代码时需要做的工作
画流程图
写阅读文档
重要逻辑加注释
5、语法要求
- 缩进统一
- 变量
标识符的第一个字符必须是字母(大写或小写),或者一个下载线('_')
标识符名称的其他部分可以由字母(大写或小写)、下载线('_')或数字(0-9)组成
标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后中者的大写N。
有效标识符名称的例子有i、_my_name、name_23和a1b2_c
无效标识符名称的例子有2things、this is spaced out和my-name
6、Python数据类型
按特征划分 | |||
数字类型 | 序列类型 | 映像类型 | |
整型 | 非整型 | 字符串(str) | 字典 |
布尔型 | 双精度浮点型 | 元组(tuple) | 集合类型 |
长整型(L) | 复数 | 列表(list) | 可变集合(set) |
标准整型 | decimal(不是内建类型) | 不可变集合(frozenset) |
按可变性划分 | |
可哈希的(不可变数据类型) | 可变数据类型 |
数字类型 | 字典(dict) |
字符串(str) | 列表(set) |
元组(tuple) | 可变集合(list) |
不可变集合(frozenset) |
运算符 | 描述 | 实例 |
& | 按位与运算符 | (a & b)输出结果12,二进制解释: 0000 1100 |
| | 按位或运算符 | (a | b)输出结果61,二进制解释:0011 1101 |
^ | 按位异或运算符 | (a ^ b)输出结果49,二进制解释:0011 0001 |
~ | 按位取反运算符 | (~a)输出结果-61,二进制解释:1100 0011 |
<< | 左移动运算符 | a << 2 输出结果240,二进制解释: 1111 0000 |
>> | 右移动运算符 | a >> 2 输出结果15,二进制解释:0000 1111 |
1 1 1 1 1 1 1 1
0 0 0 0 1 0 1 0 = 10
0 0 0 1 0 1 0 0 = 20
0 0 0 1 1 1 1 0 = 30
8、注释
#号:单行注
'''号:多行注释,前面不加print即可
如果前面加print的话如:
print '''Hellow Wrold!!! What is your name? How are you doing?''' #此为多行打印
9、字符编码
#unicode转换为utf-8
>>> name = u'爱德华' >>> name u'\u7231\u5fb7\u534e' >>> type(name) <type 'unicode'> >>> name.encode('utf-8') '\xe7\x88\xb1\xe5\xbe\xb7\xe5\x8d\x8e' >>> a=name.encode('utf-8') >>> type(a) <type 'str'>#utf-8转换为unicode
>>> name = '爱德华' >>> name '\xe7\x88\xb1\xe5\xbe\xb7\xe5\x8d\x8e' >>> type(name) <type 'str'> >>> name.decode('utf-8') u'\u7231\u5fb7\u534e' >>> a=name.decode('utf-8') >>> type(a) <type 'unicode'>#写脚本的时候指定字符编码
#/usr/bin/env python #_*_ coding:utf-8 _*_
10、导入模块
#终端实践
>>> import os #跟操作系统进行交互的一个模块 >>> os.system('pwd') /root 0 #执行命令结果的状态,是成功还是失败 >>> cur_dir = os.system('pwd') #这里只把执行结果的状态存到变量里 /root >>> print cur_dir 0 >>> os.popen('pwd') <open file 'pwd', mode 'r' at 0x7f7b2c49bd20> >>> a=os.popen('pwd').read() #把执行结果存到变量里 >>> a '/root\n' >>> res = commands.getstatusoutput('pwd') #把执行的结果和状态都存到变量里 >>> res (0, '/root')
#脚本案例
[root@localhost opt]# cat sys.py #!/usr/bin/env python import sys print sys.argv print sys.argv[2] [root@localhost opt]# python sys.py A B C ['sys.py', 'A', 'B', 'C'] B
#Python导入模块的三种方法
#第一种方法 import sys #整个模块导入,推荐使用 print sys.argv #调用方法,好处是调用功能不会跟我的变量起冲突 #第二种方法 import multiprocessing as multi #导入模块并改名为multi #第三种方法 from sys import argv #导入sys的argv功能,此为单独导入模块的某个功能,不建议用 print argv #调用方法:直接调用 #第四种方法 from sys import * #把这个模块下的所有功能都导进来,不建议用 pirnt argv #调用方法:直接调用 此种方法不建议用,因为模块太多 如果调用的功能名字跟我起的变量名字一致,会导致冲突,如下: path = 'dff' #我起的一个变量path print path #path是sys下的一个功能,这里输出会调用我的变量,但是不会调用我的模块功能
11、字符串格式化
% 标记转换说明符
s 代表字符串
d 代表进制数
x 代表十六进制数
f 代表浮点数
i 表示整数
12、raw_input和input用户交互
先说raw_input和input的区别:
raw_input:默认是字符串模式,交互时输入字符串不用加引号
input:交互时输入字符串必须加引号,如果原生是字符串,他就是字符串类型,原生是数字,他就是数字类型,原生是变量,就引用你的变量,%d代表十进制,也就是要你一定要输入数字,不需要用到数字的场合,用%s即可
代码例子:
[root@mndg248 opt]# cat raw_input.py #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = raw_input('Please enter your name in English:') sex = input('Please enter your sex:') age = input('age:') job = raw_input('job:') salary = input('Salary:') print ''' Personal information of %s: Name: %s sex: %s Age: %d Job: %s Salary: %d ''' % (name,name,sex,age,job,salary)代码执行
[root@mndg248 opt]# python raw_input.py Please enter your name in English:wsyht Please enter your sex:'man' age:26 job:运维 Salary:10000 Personal information of wsyht: Name: wsyht sex: man Age: 26 Job: 运维 Salary: 10000
13、流程控制
1)if...else...
代码示例:
[root@mndg248 opt]# cat ifelse.py #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = raw_input('What is your name? ') age = input('age:') job = raw_input('job:') salary = raw_input('salary ') print type(age) if age > 18: msg = '恭喜你,你已经成年了' else: msg = '对不起,你还没有成年' print ''' Personal information of %s: Name: %s Age: %d Job: %s Salary: %s ------------------------------------ %s ''' % (name,name,age,job,salary,msg)执行代码
[root@mndg248 opt]# python ifelse.py What is your name? wsyht age:26 job:运维 salary 10000 <type 'int'> Personal information of wsyht: Name: wsyht Age: 26 Job: 运维 Salary: 10000 ------------------------------------ 恭喜你,你已经成年了2)if...elif...
代码示例:
[root@mndg248 opt]# cat ifelse.py #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = raw_input('What is your name? ') age = input('age:') job = raw_input('job:') salary = raw_input('salary ') print type(age) if age < 18: msg = '对不起你还没有成年' elif age < 30: msg = '对不起,你还没到中年' else: msg = '你已经老大不小了' print ''' Personal information of %s: Name: %s Age: %d Job: %s Salary: %s ------------------------------------ %s ''' % (name,name,age,job,salary,msg)
代码执行
[root@mndg248 opt]# python ifelse.py What is your name? wsyht age:33 job:CTO salary 30000 <type 'int'> Personal information of wsyht: Name: wsyht Age: 33 Job: CTO Salary: 30000 ------------------------------------ 你已经老大不小了
3)while循环
例子1:
#!/usr/bin/env python #_*_ coding:utf-8 _*_ count = 0 while True: print 'loop:', count count += 1
例子2:
#!/usr/bin/env python #_*_ coding:utf-8 _*_ count = 0 while count < 10: print '输出小于10的数:', count count += 1 else: print '输出等于10的数:', count
例子3:
#!/usr/bin/env python #_*_ coding:utf-8 _*_ import sys count = 0 while True: print u'选择你要暂停的行:', print_num = input('') while count < 500: if print_num == count: #判断输入的行数与当前行数是否相等 print u'你要暂停的行为 ',print_num print u'是否要继续(y|n)', choie = raw_input('') if choie == 'n': sys.exit() else: break if print_num < count:#判断输入的行数是否小于当前行数 print u'已经过去了' break else: count+=1 print '现在是第%d行 ' % count
14、break和continue
break:表示跳出整个循环
continue: 表示结束本次循环
相关文章推荐
- 易语言基础教程之定义及变量
- Ruby中的变量学习总结
- Ruby基础知识之基本流程控制
- 详解Lua中的变量相关知识点
- Lua中的控制结构(流程控制)简明总结
- Lua中的变量类型与语句学习总结
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- dos批处理文件中的变量小结
- 探索PowerShell(七) PowerShell变量
- C# 判断字符为空的6种方法的效率实测对比
- VBScript教程 第四课VBScript变量
- 关于SQL 存储过程入门基础(基础知识)
- perl 变量 $/ 的用法解析 上下文为行模式时,$/ 定义以什么来区分行
- C#实现移除字符串末尾指定字符的方法
- VBS教程:VBScript 基础-VBScript 变量
- ruby 流程控制 方法
- Erlang中的函数与流程控制介绍
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- C语言中字符的输入输出以及计算字符个数的方法详解
- mssql存储过程表名和字段名为变量的实现方法