Python Learing(一):Basic Grammar
装了python2.7,去图书馆借了python入门经典,暂且简单写下学习笔记,以供自己回忆
学习笔记(一)主要是基础语法部分:
1.python中数字以及字符串的使用;
2.输入与输出语句;
3.逻辑用语;
4.循环语句;
5.列表以及字典的使用;
6.函数的调用;
本来是发在 https://polebug.github.io 上的(推荐去这里看,页面什么的会更好一些)
感觉博客园放着很久没用了,就顺便同步一下~
以下为学习笔记(一)正文:
python中数字的使用
变量类型
int,float,string就不说了
这里注意下面几种类型的使用:(下面会具体讲)
long:长整型(不是long long),最长的数字的长度取决于计算机有多大的内存;
list :功能类似于数组,用[]表示,里面的值可以改变;
tuple:用()表示,里面的值不可以改变;
dictionary:可列出已经配对的键和值;
(查看变量类型,可用type()查看)
变量命名
python对于变量名的限制:不能用数字开头,不能过长,不能包括特殊符号(除下划线);
数学运算
基本运算没见过的就是:floor除法的符号为//,求幂的符号为**;
运算优先级以及比较问题就不说了
python中string的使用
字符串创建,用‘ ’或者“ ”都可以进行赋值
字符串有关的函数使用:
len():返回字符串长度;
.upper():全部转换成大写;
.lower():全部转换成小写;
.capitalize():把首字母转换成大写,其余转换成小写;
.title():把首字母以及每个空格或者标点符号后的字母转换成大写,其余字母转换成小写;
is_alpha():检查一个字符串是否全由字母组成;
.strip():
1.删除字符串开头和结尾的所有空格;
2.删除指定的字符,例如:.strip('*');
3.rstrip()只删除开头的字符;.lstrip()只删除结尾的字符;
.count(' '):返回一个字符串在另一个字符串中出现的次数;
.find(' '):返回某个字符串第一次出现的位置,若没有找到返回-1;
.replace('string1', 'string2'):将string1替换为string2;
注:使用这些函数之后,字符串自身的值并未发生改变
字符串的运算:
加法: (string) + (string)
(string) + " " +(string)
其中int得是非负整数
处理输入和输出
输入:
input():用于收集信息,不能接受没有引号括住的字符串;
raw_input():用于收集任何非数字的信息,会把用户输入的任何内容都保存为一个字符串;
raw_input()函数内还可以加入提示内容;
这个地方举个例子:
>>> s = input() //input的用法
"hello world"
>>> s
'hello world'
>>> name = raw_input("What is your name?") //raw_input()的用法
What is your name : Polebug
>>> name
Polebug
import语句:允许我们从用户获取信息且同时隐藏用户输入
举个例子:
>>> from getpass import getpass
>>> my_password = getpass()
Password :
>>>my_password
'hello_world'
其中,getpass()中可加提示语句。举个例子:
>>> for getpass import getpass
>>> my_password = getpass("Password, please : ")
Password, please :
如果getpass()未添加提示语句,则默认输出"Password : "进行提示;
输出:
相比于c的输出语句printf("%d",...);python是使用{}来确定变量输出的位置;而对于多个{}并列使用时输出顺序,则是由{}的先后,或者是变量,或者是{}中的数字决定。分别举例:
>>> Example1 = "{},{}!"
>>> a = "Hello"
>>> b = "world"
>>> print Example1.format(a, b)
Hello, world!
>>> Example2 = "{first}, {second}!"
>>> a = "Hello"
>>> b = "world"
>>> print Example2.format(first = a , second = b)
Hello, world!
>>> Example3 = "{0}, {1}!"
>>> print Example3.format('Hello', 'world')
Hello, world!
逻辑用语
if,else以及elif唯一执行第一条为真的语句。
注意一下末尾的冒号。
循环语句
//同样支持break,continue语句,注意一下缩进
//使用range()语句进行循环
>>> range(7) //for i = 0 ~ 6
>>> range(1,5) //for i =1 ~ 4
>>> range(1,5,2) //for (i=1;i<5;i+=2)
//python中的for语句,注意for语句末尾的冒号;
>>> for i in range(1,5) : //遍历range
... print i
...
1
2
3
4
>>> Number = [1, 2, 3] //遍历list
>>> for i in Number :
... print "The number is : {}".format(i)
...
The number is : 1
The number is : 2
The number is : 3
//while语句的使用,跟c++用起来差不多,随便举几个例子
>>> while True :
>>> while not Name.isdigit() :
python中列表list的使用
python中列表的作用以及操作和c++里的数组很相似,实现和逻辑方面都简单说一下
//创建列表
>>> List = [] //创建空列表
>>> List = [ 1, 2, 3, 4 ] //创建包含有数字1,2,3,4的列表
>>> List = ['one', 'two', 'three', 'four' ] //创建包含有字符串one , two, three, four的列表
//赋值的逻辑问题
>>> a = 1;
>>> b = 2;
>>> List = [ a, b ]
>>> a = 3
>>> List
[1, 2]
//使用len(),获知列表中有多少项
>>> Number = [ 1 , 2 , 3 ]
>>> len(Number)
3
//使用.count()统计所出现的次数
>>> Number = [1 , 1 , 2 ]
>>> Number.count(1)
2
//使用.index()找到某一项在列表的位置,注意一下,引索是从0开始编号
>>> Number = [1 , 2 , 3 ]
>>> Number.index(3)
2
//使用.append()往列表里添加项
>>> Number = []
>>> Number.append(1)
>>> Number
[1]
//使用.append()往列表里添加项
>>> Number = []
>>> Number.append(1)
>>> Number
[1]
//判断某项是否在列表里
>>> Number = [1 , 2 , 3 ]
>>> 1 in Number
True
>>> 4 in Numer
False
//使用.remove()删除项
>>> Number = [1, 2, 3 ]
>>> Number.remove(1)
>>> Number
[2, 3]
//使用.insert(x, a)将a添加在第x项上
>>> Colors = ['red', 'yellow', 'green']
>>> Colors.remove(1, 'orange')
>>> Colors
['red', 'orange', 'yellow', 'green']
//列表运算
>>> A = [1, 2 ]
>>> B = [3, 4 ]
>>> A + B //两个列表相加
[1, 2, 3, 4]
>>> A*3 //列表乘以一个常数,列表*列表会报错
[1, 2, 1, 2, 1, 2 ]
//使用.reverse()反转列表所有的项的顺序
>>> Number = [1, 2, 3, 4 ]
>>> Number.reverse()
>>> Number
[4, 3, 2, 1]
//使用.sort()对整数/浮点数/字符串进行升序排列
>>> Number.sort()
//比较两个列表是否相同,返回True/False;注意一下,判断两个列表是否完全一样,还包括项的顺序的比较
//判断不等于同理
>>> Number1 == Number2
False
使用字典dictionary匹配键和值
python中字典的功能有点像哈希表,但相比于c++实现的哈希映射,字典使用起来简单很多
字典的使用主要是以下几种:
//创造字典
>>> states = {} //空字典
>>> states = {"V": "R", "M": "A"} //字符串匹配字符串
>>> states = {1: "R", 2: "M"} //数字匹配字符串或字符串匹配数字均可
>>> states = {1: 2, 3: 4} //数字匹配数字
//临时添加键和值
>>> states = {"V": "R"}
>>> states ['M'] = 'A'
>>> states
{'V': 'R', 'M': 'A'}
//使用.pop()删除一个键
>>> states.pop("M")
//查看字典中是否使用了某个键
>>> states.has_key('M') //使用.has_key()查看
True
>>> 'M' in states //使用关键字in查看
//查看字典中所有的键和所有存储的值
>>> states.keys()
>>> states.values()
//比较两个字典是否相等时,不根据特定的顺序进行比较
注:如果字典中有两个键相同,但是值不同,查询键时返回最后一个匹配的值
举个例子:
>>> number = {1:2, 1:3}
>>> number [1]
3
python中函数的调用
//创建一个函数
>>>def function_name(parameter1, parameter2) :
code
>>> function_name(parameter1, parameter2)
//设置默认值
>>>def print_welcome(first, last, middle=' '):
... print "welcome, {} {} {} !".format(first, middle, last)
(注意:设置默认值的规则之一是在函数定义中最后定义参数的默认值)
//返回值
>>> return a, b, c
//在函数内创建的变量不能在函数外引用
//调用脚本
if _name_ == "_main_" :
main()
//使用**kwargs添加到参数列表的末尾,如果存在关键字,将获取用户传递给函数的任何值(kwargs是标准名)
>>> def args(first, **kwargs) :
... print first
... print kwargs
...
>>> args (first="hello", kwargs="world")
hello
{'kwargs' : 'world'}
//使用*args获取任何非关键字的值并保存在一个元组里
>>> def test_args(first, *args) :
... print first
... print args
...
>>> args ("hello","world","!")
hello
('world','!')
>>> args (1,2,3)
1
(2, 3)
总结一些容易错误的细节
主要是一些习惯问题
(单引号和双引号的问题并不用太注意)
基础语法就学习到这里~
(我会继续补充和完善的~如果有错误,欢迎指正)
Python Learing(一):Basic Grammar的更多相关文章
- Python Learing(二):Basic Image Processing 1
<写在前面> Basic image processing 1: 0.(以简单的曲线图为例)对于生成的图自定义外观,使用子图,多个数据集,标题,标签,交互式标注,图例: 1.生成散点图,直 ...
- 《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
Coursera课程<Using Databases with Python> 密歇根大学 Week2 Basic Structured Query Language 15.1 Relat ...
- [Python Study Notes] Basic I\O + File 操作
列表操作 Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...
- Python笔记 #09# Basic plots with matplotlib
源:DataCamp 气泡的大小表示人口的多少,横坐标表示人均GDP(美元),纵坐标表示预期寿命.-- 作者:Hans Rosling Python 中有许许多多用于可视化的包,而 matplotli ...
- 【Python】【Basic】MacOS上搭建Python开发环境
1. Python3 1.1. 下载地址:https://www.python.org/downloads/mac-osx/ 1.1.1. PKG包安装: 没啥可说的,点点点,下一步而已,不用手动配置 ...
- 【Python】【Basic】【数据类型】运算符与深浅拷贝
运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 三元运算 三元运算(三目运算),是对简单的条件语句的缩写. # 书写格式 result = 值1 if 条件 ...
- Python Ethical Hacking - Basic Concetion
What is Hacking? Gaining unauthorized access. Hackers? 1.Black-hat Hackers 2.White-hat Hackers 3.Gre ...
- 【Python】【Basic】【数据类型】基本数据类型
1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2 ...
- Intermediate Python for Data Science learning 1 - Basic plots with matplotlib
Basic plots with matplotlib from:https://campus.datacamp.com/courses/intermediate-python-for-data-sc ...
随机推荐
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2) ...
- codeigniter 操作mysql的PHP代码--更新
支持标准前缀 1)查询没有平等,有平等的 $this->db->get_where('host',array('host'=>'ddd','id !='=>0))->ro ...
- [译文]c# /.Net 技巧: ToDictionary() and ToList()
前言: 有两个简单好用的LINQ扩展方法 ToDictionary() 和ToList(),你可能知道或不知道,但是它的的确确可以简化查询转化为集合的任务: 简介: LINQ和延迟执行 据你所认识的L ...
- linux_cp_远程copy
1:远程copy [linux对linux 远程拷贝] scp 文件名 root@远程ip:/路径/ 将本地home目录下的test.tar的文件拷贝到远程主机192.168.1.23的 ...
- Sqlserver2012 评估期已过解决问题
Sqlserver2012评估期已过问题解决 一.背景: 因为之前安装sqlserver2012忘记输入序列号,如今出现评估期已过的问题,前几天忙活半天,才解决,发现网 上叙述都非常凌乱,并且仅仅有 ...
- Linux C/C++计划Shell命令大杂烩(1)
1, 请参见发行信息 cat /etc/issue 2, 查看内核版本号 uname -r 查看内核版本号 uname -p 查看处理器类型32bit/64bit uname -n 查看网络主机名(o ...
- .net cookie
HttpCookie HttpRequest HttpResponse 这3个 类 . 之间的关系 . 请求 ,相应 都有一个 public HttpCookieCollection Cooki ...
- Android超炫日期日历控件:TimesSquare
先看效果图: 使用说明: 在布局文件里: <com.squareup.timessquare.CalendarPickerView android:id="@+id/calendar_ ...
- 前端构建利器Grunt—Bower
runt + Bower—前端构建利器 目前比较流行的WEB开发的趋势是前后端分离.前端采用重量级的Javascript框架,比如Angular,Ember等,后端采用restful API的Web ...
- 关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
原文:关于Installshield里一些常见问题的解答-艾泽拉斯之海洋女神出品 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗转载时请务必保留转载出处和由艾泽拉斯之海洋女神出 ...