美文网首页
chapter01-1-python需要知道的基础

chapter01-1-python需要知道的基础

作者: Yin小贱 | 来源:发表于2018-03-17 19:52 被阅读0次

仅学习用,引用自《零基础学Python》张志强、赵越等编著

文件类型

  • 源文件:就是写的代码原始文件,可以使用任何字母作后缀,如.pp,.ab但一般用.py
  • 字节代码文件:对源文件进行编译后的文件,以.pyc作后缀,无法使用文本编辑器打开或修改,pyc文件是与平台无关,因此可在windows,linux,Unix下运行
  • 优化代码文件:对源文件进行优化后就是优化代码文件,以.pyo作后缀,也无法使用文本编辑器打开或修改,需要使用命令行工具生成
    • 优化命令:python -O -m py_compile hello.py

编码规范

  • 命名规则
    1. 变量,包,模块通常小写,可使用下划线,如filename,file_name
    2. 类,对象,类名首字母大写,对象名采用小写,类的属性和方法名以对象作为前缀,类的私有变量、私有方法以两个下划线作为前缀,哪__name = "Jack";
      3.函数名,通常小写,并用下划线或首字母大写增加名称可读性
class Person:   #类名
    __name = ""   #私有变量
    def __init__(self,name):         
        self.__name=name  #self相当于java中的this,指当前类
    def getName(self):  #方法名首字母小写,其后每个单词首字母大写
        return self.__name

if __name__=="__main__":
    person=Person("jack")  #对象名小写
    print(person.getName())
  • 代码缩进与冒号
    • 缩进指在每行代码前输入空格或制表符,表示每行代码的层次关系,基于其他语言如java,c++等,代码缩进只是作为一种良好习惯,对于python,代码缩进是一种语法,作为一个代码块,以冒号开始,之后的相同缩进为一个代码块
if x==1:
  print 'x>0'
if x==-1:
  print 'x<0'
  • 模块导入规范
    • 模块定义:模块是类和函数的集合,用于处理一类总是,模块的导入和java中包的导入概念相似
      1.import 语句
import sys
print (sys.path)
print (sys.argv)
  1. from...import...语句
    与import语句不同,from...import...语句只导入模块中的一部分内容,并在当前的命名空间创建导入对象的引用;而import语句在当前程序的命名空间中创建导入模块的引用,从而可以使用"sys.path"的方式调用sys模块中的内容
from sys import path
from sys import argv

print (path)
print (argv)
  • 正确的注释
    • python 的单行注释和多行注释都使用“#”符号
# this is comment
# this is annother comment
########################

name="javck"
print (name)
  • python中有一些特殊的注释,如中文注释,程序的跨平台
# -*- coding: UTF-8 -*-
  • 使用空行分隔代码
    • 函数之间、类的方法之间用空行分隔增加代码可读性
  • 语句的分隔
    • 分号是C,java语言中标识语句结束的标志,python也支持分号,同样可使用分号作为结束标识,但在python分号不是那么重要,可省略,主要通过换行来识别语句的结束,以下语句是等价的:
print ("hello python")
print ("hello python");

变量和常量

  • 定义:变量是计算机内存中的一块区域,可以存储任何值且可以改变。常量是一块只读的内存区域,一旦初始化就不能修改
  • 命名:由字母、数字、下划线组成,第一个字母只能是字母或下划线
#正确的变量命名
var=1
_var=1
var_=1
var1=1
#错误的变量命名
1var=1
$var=1
  • 赋值
    • python中的变量不需要声明,变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建,都包括变量的标识、名称、和数据这些信息。
#一次新的赋值操作,将创建一个新的变量
#以下两次打印的同一个变量的id不一样
x = 1
print (id(x))
x = 2
print (id(x))
print (y)   #如果没有赋值,则python认为不存在,未定义
  • 局部变量
    • 定义:只能在函数或代码段内使用的变量,函数或代码段结束,变量的生命周期就结束
def fun():
  local =1   #局部变量local
  print (local)
fun()
  • 全局变量
    • 定义:能够被不同的函数,类或文件共享的变量,在函数之外定义的变量都可以称为全局变量
#在文件开头定义全局变量
a=1
b=2
def add():
  global a #global关键字引用全局变量
  a = 3
  return "a + b",a+b
def sub():
  global b
  b=4
  return "a - b" ,a-b

print (add())
print (sub())
  • 常量
    • 定义:一但初始化就不能改变的变量,如数字3,字符串“abc“都是常量,python没有提供定义常量的关键字,可以自己定义一个常量类来实现常量功能
#const.py
class _const:    #定义常量类const
    class ConstError(TypeError): pass  #继承处TypeError
    def __setattr__(self,name,value):
        if self.__dict__.has_key(name):  #如果__dict__中不包含对应的key则抛出错误
            raise self.ConstError, "Can't rebind const(%s)"%name
        self.__dict__[name]=value

import sys
sys.modules[__name__]=_const()   #将const注册进sys.modules的全局dict中
import const
Person.magic=23
Person.magic=33   #抛出异常const.ConstError: Can't rebind const(magic)
  • 数字
    • python3数字类型分为:整型、浮点型、布尔型、分数类型、复数类型
    • python变量无需声明变量类型
a =1
b= 0.1
c= 2+3j
print(type(c))
  • 字符串
    • python3中表示字符串--单引号、双引号、三引号,单引号和双引号的作用一样,三引号的用法是python特别语法,三引号中可以输入单引号,双引号或换行等字符
str = 'hello world'
str2 = "hello world"
str3 = '''hello world'''
str3 = ''' "hello world ,I'm Chinese" '''

运算符与表达式

  • 算术运算符和表达式
运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 求模
** 求幂
  • 关系运算符和表达式
运算符 描述
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
  • 逻辑运算符和表达式
运算符 描述 表达式
and 逻辑与 x and y 当x为True时才计算y
or 逻辑或 x and y 当x为False时才计算y
not 逻辑非 not x

相关文章

  • chapter01-1-python需要知道的基础

    仅学习用,引用自《零基础学Python》张志强、赵越等编著 文件类型 源文件:就是写的代码原始文件,可以使用任何字...

  • 零基础搭建Spark环境

    目的 认识Spark 基础知识 需要有一丢丢的Linux基础,至少知道名词,了解Linux基础命令Linux常用命...

  • 关于String需要知道的二三事

    关于String需要知道的二三事 标签: Java基础 原文链接:关于String需要知道的二三事 转载请注明...

  • 健身需要知道的基础知识

    骨骼图解 了解骨骼排布,就会了解在健身过程中的扭伤状况。 肌肉图解 了解肌肉排布,可以更好的真对性训练。 注意事项...

  • 你需要知道的-React基础篇

    我们知道,学习知识跟盖大house一样,都要打地基,坚实的基础,要不然后面不知道出什么问题呢 对于这种技术性的扩展...

  • 初级前端需要知道的基础知识

    前言:本文会罗列出十道比较基础的题目,我个人作为刚入门的初级前端,写这篇文章正好可以总结汇总一下近期的知识,看到这...

  • 你需要知道的区块链基础架构

    【深度解读】你需要知道的区块链基础架构 2018-07-12 11:50 文|李伟志 最近有小伙伴给小编反馈,虽然...

  • 你需要知道的区块链基础架构

    文|李伟志 最近有小伙伴给小编反馈,虽然知道区块链很长时间了,但还不太清楚区块链的基础框架到底是怎么回事? ...

  • 自我成长最需要知道的基础点

    大脑占体重的2%,可它用到身体20%的能源。 为了正常运作,生活里的60%行为已经是一个习惯化的行为,几乎...

  • 你需要知道的 maven 基础知识

    这里记录 maven 的基础知识,一方面巩固自己学到的知识,另一方面希望可以对有同样困惑的小伙伴提供一些帮助。 一...

网友评论

      本文标题:chapter01-1-python需要知道的基础

      本文链接:https://www.haomeiwen.com/subject/gqmjqftx.html