Python学习笔记1(基础语法)
1.Python的文件类型:
- 源代码:扩展名以py结尾。python写的程序不需要编译成二进制代码,可以直接运行。pyw是Windows下开发图形界面的源文件。
- 字节代码:扩展名以pyc结尾,是编译过的字节文件,不能使用文本编辑工具打开或者修改。
- 优化代码:扩展名以pyo结尾,是优化过的源文件,需要用命令行工具生成。下面把hello.py编译成hello.pyo。
python -O -m py_compile hello.py
PS: 参数-O表示生成优化代码,-m表示吧导入的py_compile模块作为脚本运行
2.命名规则
- 变量名、包名、模块名 通常采用小写,可使用下划线
- 类名首字母大写,对象名小写。类的属性和方法名以对象作为前缀。类的私有变量、私有方法以两个下划线作为前缀。
- 函数名通常小写,并用下划线或单词首字母大写增加名称的可读性。
3.模块导入的规范
模块是类或函数的集合,用于处理一类问题。在Python中,要调用标准库或其他第三方库的类,需要先使用import或from....import...语句。
- import语句
import sys # sys模块是处理系统环境的函数的集合 print(sys.path) # 输出python环境下的查找路径的集合
print(sys.argv) # 存储输入参数的列表。默认情况下,自带参数为文件名
- from....import...语句(只导入模块中的一部分内容,并在当前命名空间中创建导入对象的引用)
from sys import path
from import argv print (path)
print (argv)
4.注释
使用 “#” 加若干空格开始。
- 中文注释:若代码中有中文注释,必须再python文件最前面加上如下注释说明。
# -*- coding : UTF-8 -*-
- 跨平台注释:若python程序运行在*nix系统中,最好再文件最前端加上如下注释说明。
#!/usr/bin/python
5.语句的分割
- python主要通过换行来识别语句的结束,因此行尾;可有可无。但当一行书写多个语句时,就必须使用;分隔
PS:通常一行只写一条语句,不使用分号
- python使用‘\’ 作为换行符。在实际中,一条语句写在多行也是常见的。
6.变量
- 变量不需要声明,如果变量没有赋值,python将认为变量不存在
- 在函数之外定义的变量都可成为全局变量,通常在文件的开头定义
7.数据类型
- 数字的类型有整型、浮点型、布尔型、分数类型、复数类型。
python内部没有普通类型,任何类型都是对象,python不能修改对象的值。
# 两个i不是同一个对象
i = 1
print( id(i))
i = 2
若要查看变量的类型,可以使用type类,是_builtin_模块的一个类,可返回变量的类型或创建一个新的类型。_builtin_模块是python的内联模板,不用import语句。
# 整型
i = 1
print( type(i)) # 输出 <class 'int'> # 长整型
l = 99999999999999999999990 # 什么时候python将int转换为float与操作系统位数相关
print type(l) # 浮点型
f = 1.2 # 布尔型
b = True # 复数类型
c = 7 + 8j
print ( type(c) ) # 输出 <class 'complex'>
- python有3种表示字符串的方法——单引号,双引号,三引号。单引号与双引号作用一样。
三引号中可以输入单引号、双引号或换行等字符。(也可使用转义字符“\”)
PS:使用双引号或三引号可以直接输出含有特殊字符的字符串,不需要使用转义字符
# 三引号
str = '''he say "hello world" '''
print ( str )
# 双引号
str = " he say 'hello world' "
print( str )
str = ‘’‘ he say 'hello world' ’‘’ #单引号与三引号间必有空格,否则解释器不能识别
print( str )
三引号的另一种用法是制作文档字符串。python的每一个对象都有一个属性_doc_,这个属性用于描述该对象的作用。
# 三引号制作doc文档
class Hello:
'''hello class''' # 对Hello类的描述,被存在类的_doc_属性中
def printHeloo():
'''print hello world''' # 对函数的描述,被存在该函数的_doc_属性中
print("hello world!")
print(Hello._doc_) # hello class
print (Hello.printHello._doc_) # print hello world
8.运算符与表达式
- 新增求幂运算( x**y ),不支持自加自减运算。
print ( "1 / 2 = ", 1 / 2 ) #
print ( "1 / 2 = ", 1.0 / 2.0 ) # 0.5
print ( "2 ** 3 = ", 2 ** 3 ) #
- 关系运算符 < , <= , > , >= (优先级相等) 优先级大于 == , !=
- 逻辑运算符 :
逻辑与:and 逻辑或: or 逻辑非: not
print ( not True)
print ( False and True)
print ( True and False)
print ( True or False)
Python学习笔记1(基础语法)的更多相关文章
- 01-Python学习笔记-基础语法
Python标识符 -d 在解析时显示调试信息 -O 生成优化代码 ( .pyo 文件 ) -S 启动时不引入查找Python路径的位置 - ...
- Python 学习笔记(基础语法 restful 、 Flask 和 Requests)
input 函数 #!/usr/bin/env python3 name = input("\n\n按下 enter 键后退出.") print(name) print() 在 p ...
- Java学习笔记之---基础语法
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- Hive学习笔记:基础语法
Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...
- Python 3 学习笔记之——基础语法
1. a, b = a, a + b 先计算右边表达式,然后再同时赋值给左边. 2. 条件控制和循环语句 条件控制 if condition_1: statement_block_1 elif con ...
- Python学习笔记之基本语法学习1
★学习目标: 用Python做HTTP接口测试 ★学习的大纲: ●Python语言基础(安装,第一个案例,基本语法等) ●Request模块使用 ●编写一个简单功能的接口测试案例 ●HTTP协议基础 ...
- Python学习一:基础语法
---恢复内容开始--- 本博客主要记录学习Python的过程(按照金角大王老师课程学习),整理所学知识,扎实基础.如有错误,望批评指正. 1.Python所擅长的领域 Python是一门解释型语言, ...
- Python学习笔记:基础
本文根据廖雪峰的博客,学习整理笔记.主要内容有:基本数据类型,容器数据类型,变量及其作用域,判断及循环语法,函数式编程,面向对象,模块等概念. 数据类型 在python中,能够直接处理的数据类型有以下 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
随机推荐
- linux打开80端口及80端口占用解决办法
linux打开80端口天客户那边有台服务器同一个局域网中都无法访问,排除lamp环境问题,发现时服务器中的防火墙没有开启80端口. 代码如下 复制代码vi /etc/sysconfig/iptable ...
- K-D Tree题目泛做(CXJ第二轮)
题目1: BZOJ 2716 题目大意:给出N个二维平面上的点,M个操作,分为插入一个新点和询问到一个点最近点的Manhatan距离是多少. 算法讨论: K-D Tree 裸题,有插入操作. #inc ...
- OpenRisc-39-ORPSoC,or1200的memory hierarchy整体分析
引言 前面我们简单分析了ORPSoC的整体结构,or1200_top的整体结构,or1200_cpu的整体结构. 并对ORPSoC的启动过程,ORPSoC的debug子系统,clock子系统进行了介绍 ...
- 搭建lamp环境
虚拟机始终是虚拟机,还是linux用起来舒服得多.话不多说,回到我们的老本行,linux下进行lamp环境搭建吧. 一.安装 1.Apache sudo apt-get install apache2 ...
- CSS优先级、引入方式、Hack
优先级 important > 内联(1,0,0,0) > id(1,0,0) > class(1,0) > element(1) > *通配符 css引入方式 方式一: ...
- ubuntu下安装postgres
PostgreSQL 是一款强大的,开源的,对象关系型数据库系统.它支持所有的主流操作系统,包括 Linux.Unix(AIX.BSD.HP-UX,SGI IRIX.Mac OS.Solaris.Tr ...
- DSASync: Managing End-to-End Connections in Dynamic Spectrum Access Wireless LANs
其实跟上一篇是同一篇文章.不过上一篇是发表在IEEE Secon2010了,这篇是后来又增加了部分内容后的一版,收录在IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. ...
- 设置ActioinBar 的背景色以及Title的字体颜色
//设置ActionBar背景 Drawable draw=this.getResources().getDrawable(R.drawable.actionbar_bg); getActionBar ...
- IC封装图片认识(二):SOP&SOJ
SOP SOP-EIAJ-TYPE-II-14L SSOP SSOP-16L TSOP(Thin Small Outline Package) TSSOP(Thin Shrink Outline Pa ...
- QT5.1.0,QT4.8.0以及VC2010、VC2012的测试对比
QT5.1.0,QT4.8.0以及VC2010.VC2012的交叉测试对比. 测试1: 用VC2012静态编译了QT5.1.0. 编译速度很慢,生成完成后,用VC2012+QT5.1.0进行程序生成, ...