python之基础中的基础(二)
1、字典
创建字典,alien_0={'color':'green','points':5}其中由一个又一个的“键-值”对组成。
访问键-值对相应的值,print(alien_0['color']),可以得到green
添加键-值对,alien_0["x_position"]=100,这里前提是alien_0必须是一个字典,为此我们可以先创建一个空的字典alien_0={}
修改字典中的值,可以添加键-值对的语法一样,不过里面的键值要是需要修改的键
删除键-值对,del alien_0["points"]
遍历键-值对,for key,value in alien_0.items():
print(key+" "+vlaue) 注意,此处的key,vlaue对应的是键和值(可以随意命名),这里的item()函数代表键-值都要取出。
遍历键, for key in alien_0.keys():
print(...)
遍历值,for vlaue in set(alien_0.values()):
print(....) 注意,这里多用了一个set()函数,为去重的作用,这里不加此函数也是可以的。
列表中嵌套了字典,alien_0={'color':'green','points':10} alien_1={'color':'red','points':30} aliens=[alien_0,alien_1]
字典中存储列表,alien_0={‘color’:'green','points':10,'langue':['chinese','enlish','japan']}
字典中存储字典
2、input()
message=input("tell me your name:")该函数接受一个参数,储存在变量message中,并且该变量储存的是,用户在交互窗输入的值,提高交互体验。如message="jecy"。
注意获取的值永远都是字符型的,若要用作比较要使用int()来进行转换再使用。
3、while循环
active=true
while active=true:
message=input(prompt)
if message='quit':
active=false
else:
print(message) 让本应该是死的循环,活起来,灵活的运用了标志。
break 退出循环。
continue 返回循环开头,根据条件继续判断是否进行下一轮循环。
若由于编写错误,让程序陷入死循环,按ctrl+c即可关闭终端窗口。
删除列表中有多个相同的值:while 'cat' in pets:
pets.remove('cat') remove()一次只能删一次就结束,这样就可以反复删除,直到删除所以符合条件的字符。
4、使用用户输入的来灵活的填充字典
response={}
name=input("please input your name:")
favorite=input("what's your favorite sport?")
response[name]=favorite 注意,这里容易和列表的修改有些混淆,列表中中括号中的值为索引,而字典中中括号的值是变量或者字符
5、函数
定义函数,def greet():
""" 显示问候语"""
print('hello!') 注意,以def申明定义函数,函数里面最后有注释说明文本字符串,用三个双引号引住。开头的函数名后的括号中可加入传递的实参
关键字实参,普通的实参可能会由于各个实参的排列位置不对而出错,关键字实参避免了这一点:describe(name="zlj",favorite="baseball"),
调用的时候可以用这种关键字实参的方式避免出错(两种方式等效),定义的时候也可以用这种关键字实参的方式,来给参数设置默认值。
设置返回值,def name_format(first_name,last_name):
full_name=first_name+' '+last_name
return full_name.title() my_name=name_format(zhu,lijuan)这样就接受到了返回的值储存在变量my_name中
设置某些可以选填的实参 def name_format(first_name,middle_name=' ', last_name): 是的中间的名字可以不填,以免没有中间名字的人程序报错。
传递的实参可以是字典、列表、变量等等,返回的值也可以是字典、列表、变量等。
禁止函数修改列表,def name_format(list_name[:])表示传递的是该列表的副本,无论里面做何修改,都不会影响原本列表的值
传递任意数量的实参, def make_pizze(*topping):
在传递实参的同时,建立空的字典,def build_profile(first,last,**user_info),,调用的时候在对应的地方写上相应的键-值对。函数会把实参中的多有键-值对收入该字典中, 以便在函数中使用。
将函数最为模块储存并条用,将编写函数的文件以.py后缀命名,然后同以目录下写脚本是可以用import pizza,然后就可以调用模块中的函数了。如,pizza.make_pizza()
以module_name.function_name()的形式调用。还可以只导入模块中特定的函数如:from module_name import function_name,
同时还可以用as对导入的函数取个别名,例如,from pizza import make_pizza as mp。同理,也可以以同样的方式给模块取别名
若要导入模块中所有的函数,则 from module_name import *
python之基础中的基础(二)的更多相关文章
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- [.net 面向对象编程基础] (8) 基础中的基础——修饰符
[.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...
- C++ 基础中的基础 ---- 引用
C++ 基础中的基础 ---- 引用 引用的概念:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.比如: int n ...
- python之基础中的基础(一)
python是一个效率极高的语言,现在市面上的机器学习大部分是由python和R语言完成,所以在不久之前小仙心中便种下了学习python的想法.下面是这一个月多月以来学习的总结,都是基础中基础了. 1 ...
随机推荐
- url的分发
一.分发 补充:通过查看源码:可以通过二级路由include进行二次分发 位置:urls.py urlpatterns = [ path('admin/', admin.site.urls), pat ...
- Linux下利用Ant调用Jmeter脚本生成HTML测试报告
今天我们学习如何利用Ant调用Jmeter脚本,并将生成的 jtl 文件转换为 HTML 格式的测试报告. 准备工作 需要在Linux上提前安装好 JDK. Jmeter 和 Ant. 1,JDK(可 ...
- objectarx 按比例分割封闭多段线
测试结果:这个是按0.1,0.1,0.1,0.3,0.4的比例划分的. 插件描述:这个插件主要是选择一个多段线poly,设置poly的close属性为true,在poly任意一侧画一条长线line(l ...
- spring boot 整合 swagger2
swagger2为了更好的管理api文档接口 swagger构建的api文档如下,清晰,避免了手写api诸多痛点 一,添加依赖 <!--swagger2的官方依赖--> <depen ...
- spring cloud的配置
注解篇 @EnableEurekaServer 注解启动一个服务注册中心提供给其他应用进行对话 @EnableDiscoveryClient 激活Eureka中的DiscoveryClient实现 配 ...
- Mac系统 python2.7中安装MySQLdb
由于要在python2.7上使用到MySQLdb连接数据库,所以要安装MySQLdb,也就是MySQL-Python.安装之前已经有人告诉我,这个东西比较难装,果然我也遇到好多问题,在百度找了半天,发 ...
- 脚本在Shell可以执行成功,放到crontab里执行失败
一.背景 自己写了个监控MGR状态的脚本,直接在Linux的Shell环境下可以执行成功,但是只要放到crontab里执行,就失败,脚本内容如下 #!/bin/bash MAIL_ADDR=`cat ...
- Maven异常:Dynamic Web Module 3.0 requires Java 1.6 or newer.
问题 我目前用的JDK 是java 1.8 ,搭建Maven项目的时候,设置Project facets后,出现来以下problem : Dynamic Web Module 3.0 requires ...
- 使用vscode进行远程开发
1.前置条件,安装SSH客户端.OpenSSH或者Git两者任选其一即可,本文使用的是Git 2.安装 Remote Development 扩展包 官方地址为:https://marketplace ...
- 视觉slam十四讲第8章课后习题3+稀疏直接法程序注释
版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8571653.html 3.题目回顾:在稀疏直接法中,假设单个像素周围小块的光度也不 ...