Python学习笔记——1——基础知识

时间:2022-04-03 01:46:15

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

长字符串

如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用三个引号代替普通引号。例如

'''

#向下取整

import math

print(math.floor(13/5))

'''

也可以使用三个双引号。这样做的好处是,字符串之中同时使用单引号和双引号而不需要使用反斜杠\进行转义

原始字符串

原始字符串对于反斜线的使用并不会过分挑剔,即不会吧反斜线当成特殊字符。例如:

没有把\n转义的话,系统就会把它当成回车来处理。在字符串前加了r把其变成原始字符串后就不会当成回车来处理了。

原始字符串还会把其他的例如单引号当成单纯的单引号输出。例如print(r'test\'s')

输出结果就是test\'s. 注意原始字符串不能以反斜杠结尾。

Unicode字符串

字符串常量的最后一种类型是unicode字符串。python的普通字符串在系统内都是以8位的ASCII码形式存储的,而unicode字符串则是存储为16位unicode字符。unicode字符串以U字开头。u'Hello, world!'