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 ...
随机推荐
- C语言--位运算符
一.位运算符 1.按位与:& 1> 功能 * 只有对应的两个二进制位为1时,结果位才为1,否则为0 * 举例:10用二进制表示为1010, 7用二进制表示为0111.对两个数值进行&a ...
- 搭建MHA环境【1】规划+linux相关的设置
[1]规划 MHA这套软件包涵两个部分 1.manager :主要负责对MySQL集群状态的检查&在master 库宕机时对故障进行转移. 2.node :主要包涵状态检查& ...
- IOS 推送原理
最近两天在研究ios的消息推送机制.研究这个东西,还是充满兴趣的. Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章 ...
- 解决PopupWindow遮住输入法
1: PopupWindow中的设置 pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); pop.setSoftInputMode(Win ...
- BZOJ1013 球形空间产生器sphere
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...
- 关于google的C++ coding style
大家都知道google的开源项目有很多,不过我观察过一些开源项目,觉得代码质量就是这家最好了.这些“教条”式规定的背后是是来自于常年工程经验积累上的理性思考. 为什么好?主要有以下几点: 1.规范,就 ...
- [科普]MinGW vs MinGW-W64及其它
转载:http://tieba.baidu.com/p/3186234212?pid=54372018139&cid=#54372018139 这里也转一下吧. 部分参照备忘录原文: bitb ...
- 捆绑和缩小(BundleConfig.RegisterBundles) 第五章 : MVC中的使用 | {version}用法
使用捆绑与 ASP.NET MVC 放缩法 在这一节我们将创建 ASP.NET MVC 项目,审查捆绑和缩小.首先,创建一个新的 ASP.NET MVC 互联网项目,命名为MvcBM ,而无需更改任何 ...
- poj3299
...
- Java异步调用Future对象
Future类存在于JDK的concurrent包中,主要用途是接收Java的异步线程计算返回的结果. 个人理解的使用场景大概如下: 有两个任务A和B,A任务中仅仅需要使用B任务计算成果,有两种方法实 ...