这里面记录一些python的一些基础知识,数据类型和变量。幸而下雨,雨在街上泼,却泼不进屋内。人靠在一块玻璃窗旁,便会觉得幸福。这个家还是像个家的。

python的一些基础使用

一、python中的数据类型和变量知识

print("%s is number %d!" % ('python', 34))

# 把内容写到文件中
logfile = open('huhx.txt', 'a')
print('Fatal error: invalid input', file=logfile)
logfile.close() content = input("please input:")
print(content)

python的注释有两种,一种是上述的使用#号,另外一种是文档字符串的注释。用在模块、类或者函数的起始处,起到在线文档的功能。与普通注释不同,文档字符串可以在运行时访问,也可以用来自动生成文档。

def foo():
"this is a doc string"
return True

python中的一些运算符,这里列举一些与java所不同的地方。

# **表示乘方, /表示传统除法,//表示整除时的商, %表示余数
print(3 ** 2, 5 / 3, 5 // 3, 5 % 3, sep=" ") # 9 1.6666666666666667 1 2

python中的一些比较运算符号,其中<>和!=一样表示不等于,但是推荐使用!=。

<  <=  >  >=  ==  !=  <>

python中提供的逻辑运算符号:and  or  not分别对应于java中&& || !。注意的是python支持3 < 4 < 5的这种写法。

print(3 < 4 and 4 < 5, 3 < 4 < 5, sep=" ") # True True

python也支持增量赋值,但是不支持java中自增长++n什么。Python会将下述的 --n 解释为-(-n) 从而得到 n , 同样 ++n 的结果也是 n.

num = 45
num += 55
print(num, --num, ++num, sep=" ") # num++写法会报错,打印结果:100 100 100

以下的对象的布尔值为False

None, False, 所有的值为零的数, 0 (整型), (浮点型), 0L (长整型), 0.0+0.0j (复数), "" (空字符串), [] (空列表), () (空元组), {} (空字典)

二、python中的数字与字符串

Python 支持五种基本数字类型:int (有符号整数),long (长整数),bool (布尔值),float (浮点值)和complex (复数)。

python中的加号( + )用于字符串连接运算,与java不同的是星号( * )可以用于字符串重复。

name = "huhx"
print(name * 2, name + "linux") # huhxhuhx huhxlinux

但是需要注意的是,如果字符串+一个数字的话,就会报错。

print("huhx" + 1) # TypeError: must be str, not int

对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

print(ord('中'), chr(25991)) # 20013 文

python中的decode与encode函数,下述的b'\xe4\xb8\xad\xe6\x96\x87'表示的是以字节为单位的bytes。

# b'\xe4\xb8\xad\xe6\x96\x87' 中文
print('中文'.encode('utf-8'), b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8'))

len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:

print(len('中文'), len('中文'.encode('utf-8'))) # 2 6

三、列表list与元组tuple的使用

  • list是一种有序的集合,可以随时添加和删除其中的元素。

声明创建一个列表,可以看到可以有不同的类型。

fruit = ['apple', 'orange', 45]

得到列表的长度:

print(len(fruit)) #

用索引来访问list中每一个位置的元素:

print(fruit[0], fruit[1], fruit[2]) # apple orange 45

得到最后一个元素:

print(fruit[len(fruit) - 1], fruit[-1]) # 45 45

以下列举一下关于list的一些操作:

# 追加元素到末尾
print(fruit.append('huhx')) # None
# 元素插入到指定的位置
print(fruit.insert(1, 'linux')) # None
# 删除list末尾的元素
print(fruit.pop()) # huhx
# 删除指定位置的元素
print(fruit.pop(0)) # apple
# 某个元素替换成别的元素
fruit[0] = 'pear'
  • tuple和list非常类似,但是tuple一旦初始化就不能修改
classmate = ('huhx', 'linux', 'tomhu')
print(classmate[1], classmate.index('linux')) # linux
friend = 'huhx'
if friend in classmate:
print(classmate.index(friend)) #

对于tuple中的index方法,如果元素不在tuple中。那么会报错。

print(classmate.index('hu'), 'huhx') # ValueError: tuple.index(x): x not in tuple

tuple一旦定义就不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmate[0],classmate[-1],但不能赋值成另外的元素。

当tuple只有一个元素的时候,定义需要注意一下。如下

t = (1) # 这里定义和t=1是一样的。()被认为是小括号
print(t + 45) #
t = (1,) # 这是定义一个元素的正确写法
print(t[0]) #

四、字典map与set的使用

map的创建有以下的几种方式:

>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
True

访问map中的值:需要注意的是python对于map、turple等的一些取值操作。如果没有对应的key,就会报错。

dataMap = {'name': 'huhx', 'password': '', 8: 8} # map的创建
# print(dataMap['username']) # KeyError: 'username'
if 'name' in dataMap:
print(dataMap['name']) # huhx
print(dataMap.get('username', 'linux')) # linux
# map的遍历,有以下两种方式
for key in dataMap:
print('key = %s, and value = %s' % (key, dataMap.get(key)))
for key, item in dataMap.items():
print(key, item)

map的更新:涉及到添加元素或者修改元素

dataMap['name'] = 'liuling' # modify
dataMap['age'] = 34 # add

map删除字典元素或者删除字典

del dataMap['name'] # 删除key=name的元素
dataMap.clear() # 删除dataMap中所有的元素
del dataMap # 删除dataMap
dataMap.pop('name') # 删除并返回key=name的value值

五、int函数的使用

int函数能够将字符串转换成整数,也可以将浮点数转换成整数。

print(int(12.2)) #
print(int('12.2')) # ValueError: invalid literal for int() with base 10: '12.2'
print(int('')) #

六、列表和字符串的遍历

if __name__ == '__main__':
aList = [1, 2, 'huhx', '']
content = 'huhx' # 列表的遍历
for item in aList:
print(item) for index in range(len(aList)):
print('%s (%d)' % (aList[index], index)) for index, value in enumerate(aList):
print(index, value) # 字符串的遍历
for string in content:
print(string) # range函数的使用
for num in range(3):
print(num)

七、python中一些内建函数的使用

complex(3, -45.4)      # (3-45.4j)
float('23.334') # 23.334
divmod(10, 4) # (2, 2)
round(3.49999) #
round(3.49999, 1) # 3.5

int(), round(), math.floor()函数的区别:

函数 int()直接截去小数部分。(返回值为整数)
函数 floor()得到最接近原数但小于原数的整数。(返回值为浮点数)
函数 round()得到最接近原数的整数。(返回值为浮点数)

pow函数的使用:如果有第三个参数,那么就是结果取余操作。

pow(3, 2)        #
pow(3, 2, 4) #

进制转换函数:

hex(234)  # 0xea
oct(245) # 0o365

ASCII 转换函数:

ord('a')  #
chr(97) # a

编码与解码函数:

'中文'.encode('utf-8')                           # b'\xe4\xb8\xad\xe6\x96\x87'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') # 中文

友情链接

python基础---->python的使用(一)的更多相关文章

  1. python基础---->python的使用(三)

    今天是2017-05-03,这里记录一些python的基础使用方法.世上存在着不能流泪的悲哀,这种悲哀无法向人解释,即使解释人家也不会理解.它永远一成不变,如无风夜晚的雪花静静沉积在心底. Pytho ...

  2. Python基础--Python简介和入门

    ☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习.之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说 ...

  3. python基础-python解释器多版本共存-变量-常量

    一.编程语言的发展史 机器语言-->汇编语言-->高级语言,学习难度及执行效率由高到低,开发效率由低到高 机器语言:二进制编程,0101 汇编语言:用英文字符来代替0101编程 高级语言: ...

  4. python基础--python基本知识、七大数据类型等

    在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 (1)python应用领域 目前Python主要应用领域: 云计算: 云计算最火的语言, ...

  5. python基础===Python性能优化的20条建议

    优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场 ...

  6. 第1章 Python基础-Python介绍&循环语句 练习题&作业

    1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型? 高级语言分为编译型与解释型两种,分别从执行速度.开发效率.跨平台性三个方面说它们的区别. 编译型语言因为执行的 ...

  7. python基础---->python的使用(五)

    这里记录一些python的一些基础知识,主要内容是高阶函数的使用.或许我的心包有一层硬壳,能破壳而入的东西是极其有限的.所以我才不能对人一往情深. python中的高阶函数 一.map().reduc ...

  8. python基础---->python的使用(四)

    这里记录一下python关于网络的一些基础知识.不知为何,恰如其分的话总是姗姗来迟,错过最恰当的时机. python中的网络编程 一.socket模板创建一个 TCP 服务器 import socke ...

  9. Python基础---->python的使用(二)

    学习一下python,这里对python的基础知识做一个整理.似等了一百年忽而明白,即使再见面,成熟地表演,不如不见. python的一些应用 一.类似于java中的MessageFormat用法 w ...

随机推荐

  1. Java虚拟机垃圾收集器与内存分配策略

    Java虚拟机垃圾收集器与内存分配策略 概述 那些内存须要回收,什么时候回收.怎样回收是GC须要完毕的3件事情. 程序计数器.虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性 ...

  2. R 语言 相关入门资料

    <R语言基础语法入门>: http://www.xueqing.tv/upload/april-training/day1/index.html#1

  3. hibernate 中的session和事务(Transaction)

    在使用hibernate开发时,遇到最多的就是session与事务,那么他们两个有什么关系呢?下面我来抛砖引玉: 1.session是hibernate中的以及缓存机制,是用来对数据进行增删改查的一个 ...

  4. MATLAB错误:下标索引必须是正整数类型或者逻辑类型

    背景: Matlab R2015b 问题: 在运行BP算法时出现错误: 下标索引必须是正整数类型或者逻辑类型 output( i , class( i )  ) = 1 ; 解决办法: 根目录下运行, ...

  5. Making ARC and non-ARC files play nice together

    From Codeography If you want to exclude a file from being compiled with ARC you can do so by setting ...

  6. 同一个Tomcat部署两个project之间的通信问题

    同一个tomcat下的两个project是无法通信的. 同一个tomcat中的project能互相调用吗 启动一个tomcat部署多个项目,那么每个项目算是一个线程还是进程呢? Tomcat中的pro ...

  7. Mac terminal Javac

    Mac  terminal Javac Open the Terminal's vim , then write them: public class test{ public static void ...

  8. 网页CSS常用中英文字体收集

    Windows的中文字体: 黑体:SimHei 宋体:SimSun 新宋体:NSimSun 仿宋:FangSong 楷体:KaiTi 仿宋_GB2312:FangSong_GB2312 楷体_GB23 ...

  9. js九九乘法表的应用

    <html> <head> <meta charset=utf-8" /> <title>js九九乘法表</title> < ...

  10. JAVA简单内存泄露分析及解决

    一.问题产生    项目采用Tomcat6.0为服务器,数据库为mysql5.1,数据库持久层为hibernate3.0,以springMVC3.0为框架,项目开发完成后,上线前夕进行稳定性拷机,测试 ...