前言

blog花了一上午写的,结果笔记本关机了,没有保存,找不到了,找不到了啊,所以说,你看的每一篇blog可能都是我写了2次以上的…….哎!!

代码改变世界,继续.........

Python基础

一、Python的数据类型

1、int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

2、long(长整型)

为什么会有这个概念呢?

因为在Python2.2起,如果放置在内存里的数特别大发生溢出,Python就会自动将整型数据转换为长整型,但是现在,在Python3里就不存在长整型这么一说了,同意都是整型。

3、float(浮点型)

简单理解就是带有小数的数字

4、complex(复数)

复数是由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y呢是复数的虚数部分,这里的x和y都是实数。

5、布尔值(0或1)

就是真和假。

6、查看数据类型(type)

1 >>> type(1)2

3 >>> type(1.2)4

5 >>>type(jixuege)6 Traceback (most recent call last):7 File "", line 1, in

8 NameError: name 'jixuege' isnot defined9

10 上面报错原因就是没有用双引号引起来,他就不是字符串,而是认为是一个变量。11 >>> type("jixuege")12

二、for和while循环

这里呢就需要涉及到break和continue的区别了。

如何理解呢?

break: 只能跳出当前循环,当前这一套循环就结束了。

continue: 跳出当次循环,然后呢还会去继续下一次别的循环。

举个栗子:

1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-

3 #Author: Leon xie4

5

6 for n in range(4):7 print(n)8 for j in range(3):9 if j <2:10 #如果j小于2就跳出当次循环,继续一下次循环11 continue

12 print(n,j)

打印结果如下:

0

0 2

1

1 2

2

2 2

3

3 2

说明:

在第二次的if判断中,我执行条件,如果j小于2就跳出当次循环,继续一下次循环

下面我们就看看break的使用

同样的代码,咋们接着看

#!/usr/bin/env python

#-*- coding: utf-8 -*-#Author: Leon xiefor n in range(4):

print(n)break

for j in range(3):if j <2:

#如果j小于2就跳出当次循环,继续一下次循环continueprint(n,j)

打印结果如下:

0

小结:

个人来说明一下,二者的区别,continue呢用于我有很多次循环,然后呢,我不希望哪次循环执行下面的动作,就可以了使用continue ,而break呢就是我这次循环了以后我想跳出去不在循环,或者呢就是我写了一段代码,我想跳出去看看代码是否能执行,就可以用break呢。

三、Python的数据类型

1、整型int

可以直接理解为整数

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

2、浮点型float

可以直接理解为带小数的数字。

3、复数complex

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

4、布尔值(0或1)

表示真或者假

5、查看数据类型

使用type即可。

>>> type("xiedi")

>>> type("2")

>>> type(2.2)

>>> type(2)

>>>

这里有个地方需要注意,就是数字不需要加引号,如果加了就是字符串。

四、Python字符串基本操作

1、判断是不是合法的标识符isidentifier

name="ABC"print(name.isidentifier())

打印结果

True

2、首字母大写capitalize

name= 'abc'print(name.capitalize())

打印结果

Abc

3、计数count

name= 'abc'print(name.count("a"))

打印结果1

4、位于中心,用-来补充center

name= 'abc'print(name.center(50,"-"))

打印结果-----------------------abc------------------------

5、判断是否以c结尾endswith

name= 'abc'print(name.endswith("c"))

打印结果

True

6、把回车换成空格expandtabs

name = "a\tbc"print(name.expandtabs(tabsize=10))

打印结果

a bc

7、查看某字符下标find

name= 'abc'print(name.find('c'))

打印结果2

8、将字符小写lower

print("XIEDI".lower())

打印结果

xiedi

9、将字符大写upper

print("xiedi".upper())

XIEDI

五、Python列表基本操作

记住一句话,叫做顾首不顾尾

首先我们来定义一个列表

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

接下来,我们就对这个列表来进行一系列的操作

1、切片

取值,取第一个和第二个

print(name[0],name[1])

打印结果

jixuege dajiba

说明:

上面的0和1指的是小标,从左到右顺序就是从0开始一直到4

打印一个区间

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

print(name[:2])

打印结果

['jixuege', 'dajiba']

打印最后一个

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

print(name[-1])

打印结果

youtianai

2、追加

比如说我想追加一个人进去

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.append("xiha")

print(name)

打印结果

['jixuege', 'xitong', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai', 'xiha']

这个会追加到末尾

还有一种就是插入insert

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.insert(2,"youhua")

print(name)

打印结果

['jixuege', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai']

3、修改

直接修改即可

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name[2]="wuming"print(name)

打印结果

['jixuege', 'dajiba', 'wuming', 'cangjinkong', 'youtianai']

4、删除

直接清空

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.clear()

print(name)

打印结果

[]

删除指定元素

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.remove("jixuege")

print(name)

打印结果

['dajiba', 'boduoye', 'cangjinkong', 'youtianai']

删除指定下标

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

del name[2]

print(name)

打印结果

['jixuege', 'dajiba', 'cangjinkong', 'youtianai']

不指定下标删除最后一个

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.pop()

print(name)

打印结果

['jixuege', 'dajiba', 'boduoye', 'cangjinkong']

指定下标

name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]

name.pop(1)

print(name)

打印结果

['jixuege', 'boduoye', 'cangjinkong', 'youtianai']

六、蛋疼的购物车程序练习

要求:

1、用户输入工资,打印出商品的列表

2、用户根据编号来进行购买商品

3、用户选择商品之后,先检测额度是否够用,直接扣款和温馨提示余额不足

4、可以随时退出,退出并打印出已购商品列表和余额。

1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-

3 #Author: Leon xie4

5 product_list =[6 ["Iphone",5800],7 ["MAC PRO",16800],8 ["Bike",800],9 ["Coffee",30],10 ]11

12 shopping_list =[]13

14 salary = input("请输入你的工资:")15 #判断是否为数字16 ifsalary.isdigit():17 salary = int(salary)18 whileTrue:19 for index,item inenumerate(product_list):20 #打出菜单21 print(index,item[0],item[1])22

23 choice = input("请选择要购买的商品编号[quit]>>:")24 ifchoice.isdigit():25 choice = int(choice)26 if choice >=0 and choice

30 if p[1] <=salary:31 shopping_list.append(p)32 salary -= p[1]33 print("Added \033[32;1m[%s]\033[0m into your shopping cart,and your current balance is \033[1;31;40m%s\033[0m"%(p,salary))34 else:35 print("钱不够,你只有 \033[5;31;42m[%s] \033[0m"%salary)36 else:37 print("没有此商品...")38

39 elif choice == "quit":40 print("已购买的商品".center(50,"-"))41 for i inshopping_list:42 print(i)43 print("Your left balance is",salary)44 exit()45 else:46 print("未识别,请输入正确的指令!!")

View Code

购物车效果如下所示:

python学起来很蛋疼_一个初学者的辛酸路程-了解Python-2相关推荐

  1. python数据建模案例源代码_一个完整的数据分析案例 | 用Python建立客户流失预测模型(含源数据+代码)...

    原标题:一个完整的数据分析案例 | 用Python建立客户流失预测模型(含源数据+代码) 来源:数据分析不是个事儿 作者:启方 原文: https://mp.weixin.qq.com/s/_20MN ...

  2. 一个初学者的辛酸路程-装饰器-5

    前言: 继续前进 基础回顾: 1.集合 集合有2个重要作用:关系测试(并集,差集,交集)和去重. 2.文件编码 2.7上默认文件编码是ASCII码,因为不支持中文,就出了GB2312,在2.7上要支持 ...

  3. python制作软件很复杂_零基础学Python难吗,或者有什么其他数据加工软件推荐?...

    之前因为一个问题的回答:零基础想系统的学习金融学.量化投资.数据分析.Python,需要哪些课程和书籍.获赞1000+.大概整理一下之前的答案,回答下这个问题. 金融领域的量化分析如今是很受重视的,所 ...

  4. python爬虫接单经历_一个Python小白5个小时爬虫经历

    环境搭建 既然用python,那么自然少不了语言环境.于是乎到官网下载了3.5版本的.安装完之后,随机选择了一个编辑器叫PyCharm,话说python编辑器还真挺多的.由于本人是小白,所以安装事项不 ...

  5. python入门应该学什么专业好_真的能半个月学会Python吗?(文末附python入门进阶教程)...

    这里为什么用 Python 举例呢? 因为在很多人看来,Python 比较"简单". 写这篇文章主要是因为我在知乎上看到了一条有趣的动态: 该条动态的作者认为一个高考600分以上的 ...

  6. 学编程很枯燥_技术文档不必很枯燥

    学编程很枯燥 今年早些时候,我描述了好的文档的三个重要特征: 简洁,一致和简单 . 我写道,好的单词选择对理解和翻译很重要. 但这并不意味着它必须枯燥乏味. 想知道一个秘密吗? 我最喜欢阅读的科技书籍 ...

  7. python开源的etl工具_一个开源的ETL工具Airflow

    Airflow 最近在弄画像标签每天 ETL 的调度事情, 这篇文章分享一下一个开源的 ETL 工具 Airflow . 一.基础概念 Airflow 是 Airbnb 内部发起并开源的一个 ETL ...

  8. python学了能干什么_学了python能干什么

    学了python能做些什么 1.WEB开发 Python拥有很多免费数据函数库.免费web网页模板系统.以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较有名气的Python ...

  9. python简单好玩的代码_只需要9步100行Python代码就可以实现一个简单又好玩的弹球游戏...

    今天给大家分享一个有趣又好玩的弹球的游戏,一来可以把类的知识融会一下,二来加深对Python的兴趣.你会发现哎呀Python写小游戏还是蛮方便的,蛮有意思的~~ 需要本文源码:私信回复[源码]即可获取 ...

  10. python 数组合并排重_并排深度学习:Julia vs Python

    python 数组合并排重 Julia could possibly be the biggest threat to Python. For a variety of applications, J ...

最新文章

  1. 写《回国驯火记》的那个安普若
  2. CVPR2020 | 利用NAS搜索针对对抗攻击的鲁棒神经网络结构
  3. Dataguard - 通过主库热备方式创建容灾库
  4. ASP.NET分页存储过程自定义用户控件
  5. 面向对象写单片机程序-程序分层
  6. Microsoft Visual C++ Runtime Library Runtime Error的解决的方法
  7. 数据库为什么不适合搜索引擎的底层存储?
  8. SSM整合(相关jar包需求)
  9. Fckeditor漏洞利用总结
  10. SqlServer之xp_cmdshell_使用以及配置(转)
  11. JSP入门必须了解的知识详解
  12. 哈尔滨工业大学车万翔:自然语言处理新范式
  13. 油管机器学习基础 学习笔记
  14. JQuery UI combogrid
  15. 吸拖一体机和扫地机器人哪个好,吸拖一体机值得买吗
  16. 公司信贷基础知识介绍
  17. super和this
  18. GICv3/v4-软件概述
  19. C语言中arr[0] 、arr 、arr
  20. web开发---为什么要安装web服务器

热门文章

  1. edxp显示未安装_EPLAN因缺少加密狗驱动而无法安装解决方案
  2. c#使用pdf控件,提示无效注册类
  3. 《战舰世界》携手汉堡王开启“战舰堡胃战”主题活动
  4. 复杂系统建模计算机仿真是干嘛的,复杂系统建模和 与仿真.ppt
  5. 《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第7章 实现
  6. Unity 使用tiledmap解析地图
  7. 移远EC20基站定位
  8. 破解StarUML4.1.6
  9. 微积分的未来:DNA、非线性、混沌、复杂系统与人工智能
  10. grub清除linux密码,忘了grub密码和root密码时的root密码更改和grub密码清除方法