Python学习笔记——1——基础知识
1.1.变量和算法
python语言很类似人类语言,变量不需要定义类型。比如:
|
整型 |
字符串类型 |
数组 |
|
|
Java |
int a=12 |
String s="test" |
String[] s=[1,"a",'a'] |
|
Python |
a=12 |
s='test' s="test" |
Arr=[1,2,[1,3]],t=("a","b"), arr={'a':100,'b':'boy','c':[1,"test"]} |
PS:Groovy定义变量既可以采用java的定义方法,也能直接使用def这个万能类型来定义,然后依据赋的值来确定类型
算法基本上和java类似,但也有不同的地方:
l 1/2虽然1,2都是整型,但是结果是0.5这个浮点型而不是0. 1//2的结果才是0 双斜杠(//)表示整除
l 幂运算符是**。 比如4**3的值就是64。也可以使用函数pow
l 都使用round四舍五入,使用floor向下取整。python使用floor需要导入 math模块
1.2. print
在2.X里,如同groovy里的一样,print是一条语句。而在3.X,如同在java里,print是一个函数。所以,在python 2.X print "a"可以运行,而在python3.X, print("a")才可以运行
1.3. 获取用户输入
input函数提供了输入功能,比如下面这3行代码
name=input("what is your name:")
print("hello, "+name)
input("press <Enter>")
运行后会出现一行提示:what is your name: 然后你输入数据(比如test),按回车换行后会出现hello, test。 然后再按Enter键就结束这次程序运行。
1.4. __future__
通过__future__(两个下划线)可以导入那些在未来会成为标准python组成部分的新特性
1.5. 注释
可以使用#注释当前这行代码
1.6. 字符串
java中'a'表示字符a,"a"表示字符串a,两个不是同一个意思。但是在python里,'a'和"a"都表示字符串a,这点在Groovy里也是一样。
在python里,拼接字符串不仅可以像java那样"abc"+"def",还可以"abc""def".不过"abc""def"要同时写下并且一个紧接着另一个,也不能通过变量来
在java里可以使用""+12,String.valueOf(12)和Integer.toString(12)将12转成String型,而在Groovy里还可以通过12.toString()将12转成String。但是在Python里数字12不可以和""相加,变成String的办法是repr(12)和str(12)。函数str让字符串更易于阅读,而repr则把结果字符串转换为合法的python表达式
print(str("12")); #输出12
print(repr("12")); #输出'12'
print(str(12)); #输出12
print(repr(12)); #输出12
PS:在2.X版本里,还可以使用反引号转化成字符串,但是在3.X版本就不行了。例如:`test`
1.7. 长字符串, 原始字符串和Unicode
l 长字符串
如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号代替普通引号。例如
'''
#向下取整
import math
print(math.floor(13/5))
'''
也可以使用三个双引号。这样做的好处是,字符串之中同时使用单引号和双引号而不需要使用反斜杠\进行转义
l 原始字符串
原始字符串对于反斜线的使用并不会过分挑剔,即不会吧反斜线当成特殊字符。例如:
没有把\n转义的话,系统就会把它当成回车来处理。在字符串前加了r把其变成原始字符串后就不会当成回车来处理了。
原始字符串还会把其他的例如单引号当成单纯的单引号输出。例如print(r'test\'s')
输出结果就是test\'s. 注意原始字符串不能以反斜杠结尾。
l Unicode字符串
字符串常量的最后一种类型是unicode字符串。python的普通字符串在系统内都是以8位的ASCII码形式存储的,而unicode字符串则是存储为16位unicode字符。unicode字符串以U字开头。u'Hello, world!'
Python学习笔记——1——基础知识的更多相关文章
- python学习笔记(一)-基础知识
O.解释型语言和编译型语言 编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c.c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以. ...
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...
- C#学习笔记(基础知识回顾)之值传递和引用传递
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
- Quartz学习笔记:基础知识
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- Python学习笔记之基础篇(二)python入门
一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
随机推荐
- Kinect学习笔记(六)——深度数据测量技术及应用
一.Kinect视角场 1.43°垂直方向和57°水平方向可视范围. 2.视角场常量值定义 属性 描述 Format 获取或设置深度图像格式 MaxDepth 获取最大深度值 MinDepth 获取最 ...
- 输入框提示文字js
<input style="margin-right: 0px; padding-right: 0px;" class="text" required=& ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- MySQL命令行查询乱码解决方法:
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如p ...
- JIT晚期(运行期)
在部分的商用虚拟机(Sun HotSpot.IBM J9)中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为& ...
- Maven中多模块的编译顺序
在多模块的工程中,如果模块之间存在依赖关系,那模块的编译必须要有顺序的要求.例如:P(parent)中包含A模块和B模块,且A模块依赖于B模块,那么在P中的pom,xml中需申明为: <modu ...
- C# params参数的应用
为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,如下所示: public static Int32Add(params Int32[] values) { Int ...
- A Walk Through the Forest[HDU1142]
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- BZOJ2051 : A Problem For Fun
树的点分治,将点分治的过程记录下来,每一个分治结构按到分治中心的距离维护所有点. 对于一个点二分答案,然后在$O(\log n)$个分治结构中二分查找,时间复杂度$O(n\log^3n)$. #inc ...
- HDU 1242 (BFS搜索+优先队列)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1242 题目大意:多个起点到一个终点,普通点耗时1,特殊点耗时2,求到达终点的最少耗时. 解题思路: ...