这里面记录一些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. Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏

    这几天,网上传来一个消息,虽然不知是好是坏,Win10可以下载安装了! 出于好奇,下载尝鲜,几个截图,留作纪念~ 中文,还是要好好支持的,毕竟中国有如此多的用户 可选的安装版本 许可条款也刚刚出炉,估 ...

  2. Python资料收藏(杂乱版)

    http://blog.csdn.net/vagrxie/article/category/343814 http://blog.sina.com.cn/s/articlelist_280149524 ...

  3. MyMVC配置

    <system.webServer> <validation validateIntegratedModeConfiguration="false"/> & ...

  4. asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法

    参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ...

  5. 【ML】人脸识别

    https://github.com/colipso/face_recognition https://medium.com/@ageitgey/machine-learning-is-fun-par ...

  6. 【Postgresql】set up

    https://www.howtoforge.com/tutorial/ubuntu-postgresql-installation/ https://linux.cn/article-6770-1. ...

  7. UML的学习

    1.什么是UML? 统一建模语言(UML,英语:Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的. ...

  8. SQL随机生成6位数字

    SELECT RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 6)

  9. MathType调整矩阵分隔线粗细的方法

    矩阵是线性代数的重要的组成部分,对于矩阵的计算,一般会先找一些规律再进行计算这样会更加方便.对于比较复杂的矩阵,在寻找规律时经常会将矩阵进行分割,我们将这种矩阵称为分块矩阵.有时为了表示矩阵的这种分块 ...

  10. qt creator如何实现转到槽功能

    ui_mainwindow.h .