python基本数据类型
单行注释
以#开头
多行注释
用三引号包围
python输入
input()
input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
>>> a = input() 123 >>> a 123 >>> type(a) <type 'int'> >>> a = input() abc Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'abc' is not defined >>> a = input() "abc" >>> a 'abc' >>> type(a) <type 'str'> >>> a = input() 1+3 >>> a 4 >>> a = input() "abc"+"def" >>> a 'abcdef' >>> value = 100 >>> a = input() value >>> a 100
python输出
普通的输出
print()
格式化输出
常用的占位符格式符号
格式符号 | 转换 |
---|---|
%c | 字符 |
%s | 通过str() 字符串转换来格式化 |
%i | 有符号十进制整数 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%e | 索引符号(小写'e') |
%E | 索引符号(大写“E”) |
%f | 浮点实数 |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
print('Hello,%s' % 'Python') print('Hello,%d%s%.2f' % (666, 'Python', 9.99)) # 打印:Hello,666Python10.00 print('{k} is {v}'.format(k='python', v='easy')) # 通过关键字 print('{0} is {1}'.format('python', 'easy')) # 通过关键字 print("1234567890-------") # 会在一行显示 print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------
常用数据类型转换
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
long(x [,base ]) |
将x转换为一个长整数 long() Python2有长整型,python3 长整型long和整型int 弄一起了,只有int |
float(x ) | 将x转换到一个浮点数 |
complex(real [,imag ]) | 创建一个复数 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个字符 |
unichr(x ) | 将一个整数转换为Unicode字符 |
ord(x ) | 将一个字符转换为它的整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
基本数据类型:
数字
字符串
布尔值
列表
元祖
字典
所有对象所具备的功能都保存在相应的类中。
查看对象的类,或对象所具备的功能。
1、通过type()查看
temp = "alex"
t = type(temp)
2、整体查看dir()快速列举
temp = "alex"
t = type(temp)
print(dir(t))
3、查看某类型的功能
temp = "alex"
t = type(temp)
help(type(t))
4、鼠标点击
temp = "alex"
temp.upper()
鼠标放在upper()上,Ctr+左键,自动定位到upper功能
基本数据类型的常用功能:
整型int
n1 = 123
n2 = 456
print(n1+n2) #实际是调用了n1的方法
print(n1.__add__(n2))
a1 = "alex"
ret = a1.capitalize()
print(ret)
a1 = "alex"
ret = a1.center(20,'*')
print(ret)
结果:********alex********
a1 = "alex is alph"
ret = a1.count("a")
print(ret)
a1 = "alex is alph"
ret = a1.count("al",0,10) #从0到10
print(ret)
temp = "hello"
print(temp.endswith('e',0,2)) 结果:True
content = "hello\t999"
print(content)
print(content.expandtabs())
print(content.expandtabs(20))
s = "alex hello"
print(s.find("ex"))
s = "hello {0}, age{1}"
print(s)
new1 = s.format('alex',19)
print(new1)
Python range()函数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
for i in range(10): print(i) 0 1 2 3 4 5 6 7 8 9
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
new_list = ['this','is','a','book'] for i in range(len(new_list)): print(i,new_list[i]) 0 this 1 is 2 a 3 book
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
new_list = range(10) new_list Out[41]: range(0, 10) type(new_list) Out[42]: range
list 中 append()和extend()用法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
mylist = [1,2,'abc','nice'] mylist.extend(['day','night']) mylist Out[68]: [1, 2, 'abc', 'nice', 'day', 'night'] mylist.extend([120,119]) mylist Out[71]: [1, 2, 'abc', 'nice', 'day', 'night', 120, 119]
list
list是一种有序的集合,可以随时添加和删除其中的元素,是python内置对象。
初始化、增、删、改、查、遍历
类型 |
操作方法 |
样例 |
定义/赋值 |
data = [] data = list() |
list_date = [20180101, 20180102, 20180103] |
获取长度 |
len |
len(list_date) = 3 |
访问元素 |
按位置索引 用中括号 [] |
list_date[0] = 20180101 list_date[-1] = 20180103 list_date[-2] = 20180102 超出元素范围list_date[3] list_date[-4] ,抛出异常 IndexError: list index out of range |
增加元素 |
append insert |
list_date.append(20180104) list_date.insert(1, 20180106) |
修改元素 |
按位置索引 用中括号 [] |
list_date[0] = 20180109 |
删除元素 |
pop pop(i) |
pop() 删除链表末尾的数据 pop(i) 删除第i个位置的数据 |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#list中的元素可以是不同类型的值 data = [ 'string', 1000, True ] # list元素可以是另一个list data2 = [ 'china', 'java', data ] # 循环遍历list里面的元素 for elem in data: print(elem) # tuple 不能修改的list data_tuple = ( 'string', 1000, True )
一、列表
1.什么是列表
列表是一个可变的数据类型。
列表由方括号[ ]来表示,每一个元素用逗号隔开,列表什么都能装。能装对象的对象
列表可以装大量数据
2.列表的索引和切片
列表和字符串一样,也有切片和索引,只不过切出来的内容是列表。
索引下表从0开始
[起始位置:结束位置:步长]
3.列表的增删改查
1. 增加 append() 追加 insert(index, 元素) 在index位置添加元素 extend() 迭代添加 2. 删除 pop(index) 按照位置删除元素 remove(元素) 直接删除元素 del 切片. clear() 清空列表 3. 修改 索引修改 切片修改 4. 查询 for el in list: el 5. 常用操作 1. sort() 排序 reverse=True降序 2. reverse() 翻转 3. len() 求长度
4.列表的嵌套
降维,一层一层看
5.元组
只读列表,只能看,啥也不能干
使用()表示元组
如果元组只有一个元素(元素,)
空元祖 tuple()
元组是个可迭代对象,可以使用for 循环
6.range
range(n) 从0到n-1
range(m,n) 从m到n-1
range(m,n.q) 从m到n-1,每q个取一个,综上就是切片
7.**使用range和for循环来获取列表中的索引
for i in range(len(列表)): i 索引 列表[i] 元素
list与tuple的区别
类型 |
List对象 |
Tuple对象 |
赋值 |
data = [1,2,3] |
data = (1,2,3) |
获取长度 |
len |
len |
访问元素 |
按位置索引 用中括号 [] |
按位置索引 用中括号 [] |
增加元素 |
append insert |
不可以 |
修改元素 |
按位置索引 用中括号 [] |
不可以
|
删除元素 |
pop pop(i) |
不可以
|
字典对象dict
字典对象dict使用键-值(key-value)存储,具有极快的查找速度,是python内置对象。
初始化、增、删、改、查、遍历
类型 |
操作方法 |
样例 |
定义/赋值 |
data = { } data = dict() |
dict_date = {‘2016': 100, ‘2017': 75, ‘2018': 200} |
获取长度 |
len |
len(list_date) = 3 |
访问元素 |
按key索引 用中括号 []
get方法 |
dict_date[‘2016’] dict_date[‘2015’] 如果key不存在,则会报错KeyError: ‘2015‘
dict_date.get(key, default) 如果key不存在,返回default。没有default返回None |
增加/修改元素 |
按key索引 用中括号 [] |
dict_date[‘2019’] = 100 // 增加元素 dict_date[‘2017’] = 80 // 修改元素值 |
是否存在key |
in 操作符 |
‘2015’ in dict_date 返回False |
删除元素 |
pop(key) |
pop(key) 删除键值为key的元素 |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# dict data for 2017 gdp amount gdp_2017 = { "primary industry" : 65468, "secondary industry" : 334623, "tertiary industry" : 427032 } # 分别取出 gdp类别列表 和 gdp值列表 labels = gdp_2017.keys() values = gdp_2017.values() # 遍历dict for k, v in gdp_2017.items(): print(k, v)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 集合Set =没有值的字典dict # 定义集合 set_data = set() # 增加元素 set_data.add('Google') set_data.add('Micorosoft') set_data.add('Facebook') set_data.add('Alibaba') set_data.add('Baidu') # 删除元素 set_data.remove('Baidu') # 遍历set元素 for key in set_data: print(key)
时间对象datetime
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 导入datetime库 from datetime import datetime # str转换为datetime datetime.strptime('2018-1-1', '%Y-%m-%d') # datetime转换为str now = datetime.now() print(now.strftime('%Y-%m-%d %H:%M:%S')) # %y 两位数的年份表示(00-99) # %Y 四位数的年份表示(000-9999) # %m 月份(01-12) # %d 月内中的一天(0-31) # %H 24小时制小时数(0-23) # %I 12小时制小时数(01-12) # %M 分钟数(00=59) # %S 秒(00-59) # %f 毫秒(0,999999)