python是动态语言(对象属性可以动态改变,删除添加..),不是强类型语言,所以和java,c/c++等强类型静态语言有不一样地方需要注意。

一:基本数据类型

变量

counter = 1   # 整型变量
miles = 1.0  # 浮点型
name = "John,h"   # 字符串
str = 'Hello World!' #字符串(支持双引号,也可使用单引号)

counter=’111‘ #此时counter为string类型

从例子可以看出,python使用变量可以直接赋值使用,不需要先声明类型,在使用,同时一个变量可以指向多种类型数据,即变量在使用中在确定。

(pytthon中变量可以看作一个引用,没有类型概念。类型只是针对对象而言,变量只是对象的引用而已)

布尔类型:True、False两种值
逻辑符: and、or和not
空值:None是一个特殊的空值

 常量
在Python中,通常用全部大写的变量名表示常量
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法

字符串格式化:

s1 = 'Hello {}! I am is {}.'.format('World', 'Python')
s2 = 'Hello {name1}! I am is {name2}.'.format(name1='World', name2='Python') str = ("My name is %s and age is %d !" % ('Tom', 18))

运算符
a = 2,b = 3
c = a**b //2的3次方幂运算

/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数
10/5 ->2.0

//表示整除运算
a = 10,b = 5
c = a//b

对象类型

list
list数据类型是列表:是一种有序集合,可动态add,delete,motify其中的元素

tinylist = ['123', 'john','lll','poi']
tinylist.append('haha')
tinylist.insert(2,'cba')
tinylist.remove('john')
tinylist.pop(1) # 删除索引为1位置元素
tinylist.pop() # 删除list末尾的元素
len(tinylist) #计算元素个数,len()函数可以由于任何对象

tuple
元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来
tu=(1, 2,3,4,5,6)
注意,tt=(1)不表示元组,因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义,例:tt = (1,)

dict
字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储
如果key不存在,dict就会报错 KeyError: 'xxx'

tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}

print(dict['one'])  # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
print([value for value in tinydict.values()])
for k, v in tinydict.items(): # 同时迭代key和value
print('key='+k+'value='+v)

tinydict.get('1')
tinydict.get('1',-1)

set
set和dict类似,也是一组key的集合,但不存储value
s = set([1, 2, 3])

条件判断

num = 3
if num >= 10:
print('more than 2 bit num')
else:
print('1 bit num') num = 3
if num >= 100:
print('3 bit num')
elif num >= 10:
print('2 bit num')
else:
print('1 bit num')

# 循环
for letter in 'Python':  #遍历字符串内每个字符
    print ('current letter :'+letter)

fruits = ['banana', 'apple', 'mango']
for fruit in fruits:  # 通过直接取值输出
    print ('fruit name :'+fruit)

for index in range(len(fruits)):#通过遍历索引输出
    print ('fruit name :'+ fruits[index])

数据集(一定范围内的数值)
通过range()生产数据集

for num in range(10,50):
for i in range(2,num):
if num % i == 0:
j = num / i
print ('%d = %d * %d' % (num,i,j))
break
else:
print(num+'是一个质数')

切片[]应用

1,用于string
str = 'Hello World!'
print(str[0])    # 输出字符串中的第一个字符
print(str[2:5])  # 输出字符串中第三个至第五个之间的字符串
print(str[2:])   # 输出从第三个字符开始的字符串

2,用于list
lst = ['hello', 88, 2.23, True, 10]
lst[1:3]  # 取出第二个至第三个的元素
lst[2:]  # 取出从第三个开始至列表末尾
lst[-2:]  #倒数第二个,后2个元素
lst[::5]  #每隔5个元素取一个,正序
lst[::-2] #倒序每隔2个元素取出一个

列表生成式:    
 
# 筛选出仅偶数的平方
[x * x for x in range(1, 11) if x % 2 == 0]
# 输出[4, 16, 36, 64, 100]

# 两层循环,生成全排列
[m + n for m in 'ABC' for n in 'XYZ']
# ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

 

最新文章

  1. 使用canvas绘制一片星空
  2. JQuery常用方法总结
  3. vb6保存项目到c盘的安装目录
  4. Win7+Docker(boo2docker)搭建php开发环境简略
  5. linux下搭建sock5代理
  6. [JSP]解决Maven创建项目失败
  7. 浅谈你感兴趣的 C# GC 机制底层
  8. BestCoder Round #74 (div.2)
  9. HDU2697+DP
  10. Socket 学习(三).2 udp 穿透 服务端 与 客户端 通讯
  11. Spring中@Transactional事务回滚(含实例详细讲解,附源码)
  12. 承接Unity外包 U3D外包 Unity3D外包 小型Unity项目外包用Unity还是UE4
  13. lvs-ldirectord
  14. 【nodejs】初识 NodeJS(二)
  15. PHP 通过构造器进行依赖注入 demo
  16. 2018-2019-1 20189221《Linux内核原理与分析》第二周作业
  17. C++调用openssl实现DES加密解密cbc模式 zeropadding填充方式 pkcs5padding填充方式 pkcs7padding填充方式
  18. Angular 学习笔记 (version 6 小笔记)
  19. linus jsch文件下载
  20. redis的使用,相比memcached

热门文章

  1. 记录一次Python环境安装出现的问题(已安装java)
  2. KU060板卡设计资料原理图第636篇:基于FMC的KU060高性能 PCIe 载板
  3. go+redis实现消息队列发布与订阅
  4. 了解ASP (一)
  5. iPhone添加节假日日历地址
  6. element中 popconfirm与tooltip同时使用
  7. 066_VFPage中Js Button与controller交互方式(一)
  8. .net core解决时间格式转换问题或日期取当前时间
  9. Python爬取三国演义章节标题和内容(bs4爬取,解决中文乱码)
  10. SSB调制与解调(Simulink&Matlab)