很长的时间没有更新博客了,作为一个即将迈入大四的学生,面临的是就业的压力。在可能是最后一个长长的寒假中,开始的python学习希望能够一直坚持下去。
回顾:
变量
if else
注释 # '''
补充'''还可以运用多行输出,如msg = '''hello world
hello world
hello world'''
在python中双单引号意义相同。实在不行可以用'''
本节内容:
字符格式化输出
pycharm使用
集成开发环境(IDE,Integrated Development Environment )
VIM # 经典的Linux下的文本编辑器
Emacs #Linux文本编辑器
。。。
for
while
break , continue
数据类型
整数,字符串,列表,元组,购物车程序。字典。三层菜单。
什么是字符串的格式化输出呢,在这个在c中是有类似的。也就是占位符,在c中我们长用的输出就是print(“%d”,num)类似这样的。在python中也是类似的,但是没有c中那么多的区别。在python3.x版本上是没有long数据类型的。在python中占位符大致来说只有三种:
%s == 字符串的占位符,%d = digit == 数字的占位符,这里包括int 和long %f == float 浮点数,就是约等于小数。
pycharm的使用,如何在代码最上方添加日期和作者。可以在设置中找到Editor下的File and Code Templates 选择Python Scrip 然后添加如下代码
# _author:"Isaac_hu" # data: ${DATE}
这样可以啦!
debug模式需要先在1,2, 3 ,4 。。。旁边点一下出现一个断点然后右键进入debug模式就可以调试啦。
在pycharm中还有很多快捷的方式: Ctrl + w 是选择前面的代码,按两次就会选定一行。
Ctrl + y 是删除一行 .ctrl + D 复制一行到下一行 Ctrl + f 查找 Ctrl + g 跳转到任意一行
然后是tab键是缩进,可以选择很多一起缩进。shift + tab是取消缩进
ctrl + ?/是快速注释 再按一次取消
cmd 中chcp 936是将编码格式改为GBK
循环 loop
有限循环
for i in range(3):
这个就是具体格式range 默认从0开始到3,如果要修改就是range(1,4)
如果后面再加就是步长 range(1,100,2)步长为2
如果for循环中没用被打断,就不会执行else
for i in range(3): username = input("Username :") password = input("Password :") if username == _username and password == _password: print("Welcome %s login..."%_username) passed_authentication = True break else: print("Invalid username or password !") else: print("电脑即将锁定")
无限循环
while True:
continue 结束本次循环直接下次循环
break 直接结束本层循环
数据运算
数据类型认知
整数 int(integer)
整形
长整型
In py3 一部区分整形与长整形,统一叫整形
long(长整形)
复数(5+4j) 不常用 用j不用i在工程都是用j
布尔(boolean) 只有2中状态,分别是 真True ,假False
字符串(String)
salary.isdigit()
计算机中,一切皆为对象,“.”就是它的属性
面向对象的核心思想 世界万物,皆为对象,一切对象皆为可分类
万恶的字符串的拼接。
+会占用内存 不建议使用
强迫症
#若跟在后面要空两个空格# 后面加一个空格
,隔开的地方后面加个空格
列表,元组
列表
查
索引(下标),从0开始
切片
# author:"Isaac_hu" # data: 2018/2/25 a = ['isaac', 'vic', 'brian', 'alice', 'alex'] # 增删改查 # 增 切片 # 只包括左边,不包括右边[,)左闭右开 # 如果后面的数字不写就是到最后一位 print(a[1:]) # 取到最后 print(a[1:-1]) # 取到倒数最后一个 print(a[1:-1:2]) # 后面的二代表步长,代表从左到右两个两个取 print(a[1::-1]) # 代表逆序取 print(a[-1::-1], 1) # 代表逆序取 这里前面的-1代表倒数第一个 b = a[4::-1] print(b) # 增 append insert a.append('owen') # 默认最后一个位置上 就效率上来说append比insert高 print(a) a.insert(0, 'jack') # insert 前面是位置,从零开始 print(a) # 修改 a[1] = 'Rose' print(a) a[1:3] = ['isaac', 'black'] print(a) # 删除 remove pop del a.remove('jack') # remove只能删除内容 ,不可以用索引 print(a) a.remove(a[0]) # remove只能删除内容 print(a) b = a.pop(1) # 删除索引为1的 还可以返回它的值 print(a) print(b) del a[1] # 删除一个 print(a) del a # 从内存中删除
.count 查找某个元素出现的次数
.index 根据内容查找它的索引
判断一个元素中是否存在某个内容,通过count方法
或者用“” in a 直接用in方法
增加
a.append() 追加
a.insert(index, "内容")
a.extend 扩展
修改
a[index] = "新的值"
a[start:end] = [a, b, c]
删除
remove("内容")
pop(index)
del a,del a[index]
a.clear() 清空
排序
sort() 可以在sort中加入reverse=True将改变从大变小
reverse()倒序
身份判断
type(a) is list
一个小的购物车程序的实现:
# _author:"Isaac_hu" # data: 2018/2/25 salary = int(input("Please input your salary:")) # 工资 shop_car = [] # 购物车 shopping = ''' -------Welcome to my shop--------- 1. iphone7p : 6000 2. Mac book : 8000 3. HuaWei P10 : 4000 4. Galaxy S8 :7000 ''' print(shopping) flag = True # 用于循环结束的标志 while flag: want_buy = input("Select things you want to buy for shopping_car>>>") if want_buy == '1': if salary < 6000: print("you can't buy it") break salary = salary - 6000 shop_car.append("iphone7p") print("Add in your shopping car ,Your balance is", salary) elif want_buy == '2': if salary < 8000: print("you can't buy it") break salary = salary - 8000 shop_car.append("Mac book ") print("Add in your shopping car ,Your balance is", salary) elif want_buy == '3': if salary < 4000: print("you can't buy it") break salary = salary - 4000 shop_car.append("HuaWei P10") print("Add in your shopping car ,Your balance is", salary) elif want_buy == '4': if salary < 7000: print("you can't buy it") break salary = salary - 7000 shop_car.append("Galaxy S8 ") print("Add in your shopping car ,Your balance is", salary) elif want_buy == 'exit': flag = False print('Your have this thing in your shopping car', shop_car)
简单的实现了一下,以后要接着改进。。
Fear can hold you prisoner.Hope can set you free
怯懦囚禁人的灵魂,希望可以令你感受自由。 --《肖克申的救赎》