1.Python文件后缀是否可以任意?
单独执行的时候没关系,但当文件需要导入(即导入模块)的时候,如果不是py后缀的,会出错。
2.执行方法
1) python +文件路径
python + filepath:文件头(组织行)存在不存在都可以无作用意义。
(linux系统特有)./filepath:当文件头不存在的时候会出问题,无法执行。
2) python解释器实时交互,并执行结果。
3. 组织行:声明解释器路径
1)写成/usr/bin/env python
则表示要通过系统搜索路径寻找python解释器。
这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法。
#!/usr/bin/env python #声明python解释器
2) #!/usr/bin/python
是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器,相当于写死了python路径。
#!/usr/bin/python
4. 编码注释:声明文件编码
目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。
如果没有此文件编码类型的声明,则python默认以ASCII编码去处理。
注意:与coding:utf-8根本上没有区别,支持# -*- coding: <encoding name> -*-格式的编辑器更多一些而已。
# -*- coding: utf-8 -*- # 或 *_*coding:utf-8 *_* 或 coding:utf-8
5.变量
1)本质——占位符
2)定义规则
● 变量名必须是大小写英文、数字和下划线(_)的组合;
● 不能用数字开头;
● 以下关键字不能声明为变量名,不与python内置的内容重复。
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
通常使小写字母来命名python中的变量,也可以在其中加上下划线什么的,表示区别。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
user_name=input("username:")
user_pass=input("password:")
3)全局变量和局部变量
● 把只在某个范围内(只在函数体内)起作用的变量称之为局部变量。
● 函数内多global x(变量),是声明x是全局变量。
4) 附加的一些命名规则
普通变量、普通函数: 小写字母,单词之间用_分割 e.g.user_name、get_name()
全局变量名(类变量,在java中相当于static变量):大写字母,单词之间用_分割 e.g. COLOR_WRITE
私有实例变量(外部访问会报错): 以__开头(2个下划线),其他和普通变量一样 e.g. __private_var
专有变量: __开头,__结尾,一般为python的自有变量,不要以这种方式命名 。 e.g. __doc__
类名: 单词首字母大写 e.g. AdStats
实例变量: 以_开头,其他和普通变量一样 e.g. _instance_var
模块名、包名: 小写字母,单词之间用_分割 e.g. ad_stats.py
私有函数(外部访问会报错): 以__开头(2个下划线),其他和普通函数一样 e.g. __get_name()
缩写 :命名应当尽量使用全拼写的单词,缩写的情况有如下两种:
* 常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
* 命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
注意:
* 不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
* 私有类成员使用单一下划线前缀标识,多定义公开成员,少定义私有成员。
* 变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。
6. 常量: 不能改变它的值,数或字符串。一旦初始化后就不能修改的固定值。
1) 字符串
是由零个或多个字符组成的有限串行。一般记为s=a[1]a[2]...a[n]。(一般引号引起来)
2) 数
Python中有4种类型——整数、长整数(为了表示某个数是长整数,Python会在其末尾显示一个L)、浮点数和复数。
7. 引号与注释符号
1)单、双引号:指示字符串,即空格和制表符都照原样保留。在双引号中的字符串与单引号中的字符串的使用完全相同
三引号:指示一个多行的字符串,在三引号中自由使用单/双引号
2) 当行注释:# 被注释内容
多行注释:""" 被注释内容 """
8.查看方法及其使用
通过dir()来查看方法,通过help()了解某个具体方法的含义和使用方法
9.运算符
1)算术运算
2)比较运算
3)赋值运算
4)逻辑运算
5)成员运算
10.控制流语句if 和 while
#!/usr/bin/env python # -*- coding: utf-8 -*- #import getpass #user_name = raw_input("Please input your name:") #user_password = getpass.getpass("Please input your password:") n=0 while n < 3: user_name = input("Please input your name:") print (user_name) user_password = input("Please input your password:") if user_name == "root" and user_password == "root": print "Username and Password are OK, welcome" break elif user_name == "sudo": pass else: print "Username or Password is ERROR" n = n + 1
Python2打印时可以不加括号:print 'hello world', Python3则需要加括号。Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的一些行为,不得不使用raw_input()代替input()。
#!/usr/bin/env python # -*- coding: utf-8 -*- n = 1 sum_all = 0 sum_odd = 0 sum_mix = 0 while n < 101: sum_all = sum_all + n if n < 11: if n == 7: pass #continue else: print(n) sum_all = sum_all + n if n % 2 == 1: sum_odd = sum_odd + n if n < 100: sum_mix = sum_mix + n else: if n < 100: sum_mix = sum_mix - n n += 1 print(sum_all) print(sum_mix) print(sum_odd)
《参考文档》
python的命名规范:https://www.cnblogs.com/Maker-Liu/p/5528213.html
初识python:https://www.cnblogs.com/wupeiqi/articles/5433925.html
python 数据类型:https://www.cnblogs.com/wupeiqi/articles/5444685.html
http://blog.csdn.net/qq_22703355/article/details/79268025