编程语言越来越多,混淆语法是码农的一个困境。本系列就MARK一下本语言的一般基本正确使用方法。不求深刻,但求简单正确。
1.內建数据类型共有7种int、 float、 str、 bool、 list、 tuple、 dict , tuple、 dict下次再讲。
1.1int float str
1.2字符串
1.3list
2.datatime
3.内置函数print input eval+lambda
1.內建数据类型 Int float str
內建数据类型一共有7种(int bool str list tuple dict float)
1.1变量直接赋值,赋值成什么就是什么类型
"""
赋值:m_int=3
m_float=4.0
m_str='456.00'
转换 int->str m_temp=str(m_int)
int->float m_temp=float(m_int) #float(4) ->4.0
float->str m_temp=str(m_float) #str("456.00")->456.00
float->int m_temp=int(m_float) #int(3.24)->3
str->int m_temp=int(m_str) #int('3')->3
str->float m_temp=float(m_str) #float('3.14')->3.14
"""
"""
def fun():
m_int=10 #赋值为int
print(type(m_int)) #此时为int
m_tempstr=str(m_int) #int->str 强制转换
print(type(m_tempstr)) #此时为 str
m_float=12.00 #赋值为float
print(type(m_float)) #此时为float
m_tempstr = str(m_float) #float->str 强制转换
print(type(m_tempstr)) #此时为str
m_str="123.00" #赋值为str
print(type(m_str))
m_tempfloat=float(m_str) #str->float 强制转换
print(m_tempfloat)
print(type(m_tempfloat)) #此时为str
print("m_str="+m_str)
m_str = "456" # m_str如果是456.00 会报错的,字符必须是整数格式
m_tempint = int(m_str) # str->int 强制转换
print(m_tempint)
print(type(m_tempint)) # 此时为str
"""
1.2.字符串
1.字符串分割 str.split()
str.split()
2.字符串格式化str.format()
重复输出 可用数字标记
'{}公斤,{}厘米'.format(70,175)
'{0}公斤,{1}厘米,{0}公斤'.format(70,175)
def fun():
input_str="男 75 175 25" #输入一个长的字符串
str_list=input_str.split(' ')# 分割后得到的是list类型
gender=str_list[0]
weight = float(str_list[1])
print(gender)
1.3.list
list 有序元素集合 元素类型可不同
1.访问 单个访问 l=list[0] l=[1,3,5,7,9,11,13]
多个访问l[2:5]
2.列表操作
list1+list2 合并连接两个列表
list1*n 重复n次列表内容
len(list1) 返回列表长度(元素个数)
x in list1 检查元素是否在列表中
l1*l2 错
3.长度 len(list1) len(l1)=6
4. 检查元素是否在列表中 x in l1
m_list=[1,3,5,'abc',9,'def',13] #赋值为什么就是什么数据类型 也可以写成 m_list=[]
m_list=[1,3,5,7,9,11,13]
print(m_list) #输出[1,3,5,7,9,11,13]
print('访问第一个元素:{}'.format(m_list[0])) #输出1
print('访问最后一个元素:{}'.format(m_list[-1:])) #输出[13] 返回的是list
print('访问最后一个元素:{}'.format(m_list[-1])) # 输出13 返回的是元素
print('访问倒数第二个元素:{}'.format(m_list[-2])) # 输出def
print('访问2-5元素:{}'.format(m_list[2:5])) # 输出3=(5-2)个元素,序号从0开始 不包含5,输出[5,'abc',9]
l1=[1,2,3]
l2=[4,5,6]
print('加相当于合并 l1+l2={}'.format(l1+l2)) #输出[1,2,3,4,5]
print('乘相当于重复 l1*2={}'.format(l1*2)) # 输出[1,2,3,1,2,3]
print('得到列表中的元素个数len(l1)={}'.format(len(l1))) # 输出3
print('元素是否在列表中 {}'.format(10 in l1)) #输出 False
print('元素是否在列表中 {}'.format('abc' in l1)) # 输出 False
print('元素是否在列表中 {}'.format(5 in l2)) # 输出 True
print('不访问最后两个元素:{}'.format(m_list[:-2])) # [1, 3, 5, 7, 9]
i=0
m_list=[]
while i <= 10:
m_list.append(i)
i+=1
print('while m_list中的所有元素{}'.format(m_list)) # 输出[0,1,2,3,4,5,6,7,8,9,10]
for i in range(0, 6): #Pop i in range(0,5)
m_list.pop(i) #remove i in range(0,10)
# m_list.remove(i)
print('pop操作i={},m_list={}'.format(i,m_list))
"""
pop操作i = 0,m_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pop操作i = 1,m_list = [1, 3, 4, 5, 6, 7, 8, 9, 10]
pop操作i = 2,m_list = [1, 3, 5, 6, 7, 8, 9, 10]
pop操作i = 3,m_list = [1, 3, 5, 7, 8, 9, 10]
pop操作i = 4,m_list = [1, 3, 5, 7, 9, 10]
pop操作i=5,m_list=[1, 3, 5, 7, 9]
"""
"""
remove操作i=0,m_list=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
remove操作i=1,m_list=[2, 3, 4, 5, 6, 7, 8, 9, 10]
remove操作i=2,m_list=[3, 4, 5, 6, 7, 8, 9, 10]
remove操作i=3,m_list=[4, 5, 6, 7, 8, 9, 10]
remove操作i=4,m_list=[5, 6, 7, 8, 9, 10]
remove操作i=5,m_list=[6, 7, 8, 9, 10]
remove操作i=6,m_list=[7, 8, 9, 10]
remove操作i=7,m_list=[8, 9, 10]
remove操作i=8,m_list=[9, 10]
remove操作i=9,m_list=[10]
remove操作i=10,m_list=[]
"""
for i in range(11, 20): # 输出0开始不包含10
m_list.append(i)
print('for m_list中的所有元素{}'.format(m_list)) #
2.datetime
datetime 处理时间的标准函数库 import datetime
1.datetime.now() 获取当前日期和时间
2.字符->datetime Strftime()
按照格式2017-01-30正确输出
Datetime.datetime.strftime(datetime.datetime.now(),’%Y-%m-%d’)
3.datetime->字符 Strptime()
将字符串转化为日期格式
Datetime.datetime.strptime(‘2017/08/05’,format(‘%Y/%m/%d’)) #4位用大Y
Datetime.datetime.strptime(‘17/08/05’,format(‘%y/%m/%d’)) #2位用小y
4.获取周数 isocalendar()
Datetime.datetime.now().isocalendar()[1]
Now. isocalendar()
def fun():
now=datetime.datetime.now()
print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
input_date_str = input('请输入日期(yyyy/mm/dd):')
input_date = datetime.datetime.strptime(input_date_str, '%Y/%m/%d') #输入2019/12/6
week_num = input_date.isocalendar()[1]
print(input_date.isocalendar()) #输出 (2019,49,5) #年 第几周 星期几
print('第{}周'.format(week_num)) #输出 49
3.内置函数print input eval+lambda
.内置函数
input()
print() (a,b)a,b数据类型不同 (a+b)ab 数据类型同
eval()
lambda <函数名>= lambda <参数列表>:<表达式>
"""
def main():
str_value = input('请输入人民币(CNY)金额:') # input 控制台处输入
int_value = eval(str_value) # eval接收输入
m_int=50
m_str="abc"
print("请输入数字信息",m_int) # print ()中的参数 ,a是str b是int
print("请输入信息"+ m_str) #print ()中的参数 + a 是str b是str
def fun(im, er):
out = im * er *10
return out
fun = lambda im,er : im*er*10 #函数定义与实现
out=fun(10,20) #函数的调用
print(out)