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 ...
随机推荐
- NameError:name ‘xrange’ is not defined
原因: 在Python 3中,range()与xrange()合并为range( ). 我的python版本为python3.5. 解决办法: 将xrange( )函数全部换为range( ).
- 我终于学会了使用python操作postgresql
一 前言 这篇文章不仅适合pgsql,更适合mysql,思路都是一致的,如果读者学会使用psycopg2操作pgsql,那么使用PyMySQL 操作mysql也是很简单:本篇文章涵盖内容广泛,提供的操 ...
- Linux下安装Ant
前言 Apache Ant 是一个构建工具,可以将软件编译.测试.部署等步骤联系在一起完成自动化工作,比如可以利用Ant来执行Jmeter的 jmx 脚本,生成了 jtl 测试结果文件,接着再利用An ...
- eclipse android ndk开发遇到的问题.
1. error:parameter name omitted 用javah生成的.h文件中,方法是没有指定形参的,实现的时候需要我们在实现的方法定义中加上形参. 2. 'NewStringUTF' ...
- C#的WinForm窗体美化
为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体 ...
- CF572_Div2_D2
题意 http://codeforces.com/contest/1189/problem/D2 思考 显然地,如果出现度数为2且两条出边边权不相同的情况,是无法构造合法方案的. 下面考虑缩边后的树, ...
- halfcheetch win10
HalfCheetah win10配置 1.使用Anaconda Prompt切到程序目录,执行pip install -r requirements.txt 补充说明: 使用pip与conda命令都 ...
- Cobaltstrike指令/beacon命令大全
browserpivot 注入受害者浏览器进程bypassuac 绕过UACcancel 取消正在进行的下载cd 切换目录checkin 强制让被控端回连一次clear 清除beacon内部的任务队列 ...
- 用goaccess实现可视化并实时监控access日志
goaccess access.log -o ../html/report.html --real-time-html time-format='%H:%M:%S' --date-format=‘%d ...
- windows7_下Eclipse中部署tomcat7.0进行JSP+servlet开发
环境:windows 7+EclipseJava EE IDE for Web Developers +tomcat 7.02 插件:tomcatPluginV321.zip(百度搜索下载即可) 一. ...