python基础入门一(语法基础)
作为自己正式接触并应用的第一门编程语言,在Alex和武sir两位大王的要求下,开始了写博客总结的日子。学习编程语言是很有趣的一件事情,但有2点请一定要谨记:1.做人靠自己,码代码也必须靠自己。能不能成为python大牛,靠的是平时逻辑的训练和日复一日的码代码练出来的;2.多总结、多思考、多查阅。实现需求的方式有多种,但总会有另一个办法是更加高效的!
博文内容属于基础篇,实时更新,如有地方写的不好,还请大家批评指正!
大人不华,君子务实!
python的语法基础
'''
1.python的换行缩进和注释
2.python的输入和输出
3.python变量
4.python的字符编码
5.python格式化
6.python基本数据类型
'''
目录导读
任何一种编程语言都有自己的一套语法,python也不例外。值得提一句的是,python对字母大小写是敏感的。
1、python的换行、缩进和注释
python代码的组织不像java、C一样用“{}”来控制模块,而是用“换行和缩进”来组织模块,一般情况建议4个空格的缩进。
#who big who print
a = 3
b = 4
if a > b:
print(a)
else:
print(b)
上述代码中的(#)是python的单行注释符,如果实现多行注释,可以用三个(‘)或(“)来实现。特别需要注意的是,python的(’)和(”)使用方法是相同的。
print("#这是单行注释”)
print(“
'''
这
是
多
行
注
释
'''")
2、python的输入和输出
python的输入和输出在2.X和3.X这两个版本里用法略有不同。
#在3.X版本的python里,输入和输出
name = input("what is your name: ")
print(name)
#在2.X版本的python里,输入和输出
name = raw_input("what is your name: ")
print name
在3.X版本的python中,简化了输入的语法,输出的(print)被内置成了函数,所以函数后边要有参数传进来>> print(name),个人觉得这两个版本的差别只有个别地方的不同,用到时稍微注意下就可以了(习惯问题就只能酸爽的呵呵了)。
3、什么是变量?
我们回想一下初中时候的代数基础知识:有个边长为a的正方形,那么正方形的面积就是:a*a。这个时候,a就看做是变量,我们给a任意赋一个值,就可以计算出正方形的面积了.
#求边长为a的正方形面积
a = 3 #把3赋值给边长a
s = a*a #把计算结果赋值给s
print(s) #输出正方形面积s
除此之外,变量可以是其它的任意数据类型,如字符串、布尔、浮点数,甚至是函数。也可以实现变量之间的赋值。
a = 3
b = True
c = b
b = a
print(a,b,c)
3 3 True
4、python字符编码
字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为"ASCII"
编码,比如大写字母A
的编码是65
,小写字母z
的编码是122
。
但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312
编码,用来把中文编进去。可是世界除了英语和中文之外,还有很多语言。因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
在最新的Python 3.X版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言;需要注意的是,在2.X版本里,需要加一行注释,否则python2会默认使用ASCII编码。
# -*- coding:utf-8 -*-
5、python的格式化
最后一个常见的问题是如何输出格式化的字符串。我们经常会输出类似"欢迎XXX!您的账户余额为:XXX"
之类的字符串,而XXX的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。python的字符串格式化用(%)来实现!
'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.
在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略。
6、python基本数据类型
字符串(str)
定义字符串
python字符串的定义是用(”)或(‘)引起来,三个引号也可以定义一个字符串,不同的是后者支持多行编码。
s0 = "hello"
s1 = ' world'
s3 = ''' hello
python'''
s4 = """ python is
good """
常用的字符串计算
1.字符串的加法运算,可以试一下下边代码两个输出异同点。
a = 'as1d'
b = 'fa3s'
print(a,b)
print(a+b)
2.字符串的乘法运算:
a = 'as1d'
s = a * 5
print(s)
3.字符串大小比较:比较的是ASCII码的大小。
a = "A"
b = "a"
if a > b:
print(1)
else:
print(0)
4.字符串的in运算:判断某个字符串是否为另外一个字符串的子串
a = 'qwert'
b = 'w'
if b in a:
print(yes)
else:
print(no)
常用的字符串函数
index(索引) S.index(substr, [start, [end]])可以通过索引访问字符串内部的任意元素。
s = "qwertyuiop"
# 012345678910
python字符串中代表字符串(qwer...)位置的下标,称之为索引(0123...),运行下面代码试一下!
s = 'qwertyuiop'
print(s[0],s[3],s[9]
我们要prints里的每一个字符串,应该怎么办呢?用while循环试一下:
s = "qwertyuiop"
i = 0
while i < len(s):
print s[i]
i += 1
上述代码中的len()函数返回s字符串的长度值,s[i]代表着当前下标i的元素值。
slice(切片) 访问字符串内部任意部分的元素
要访问s字符串里的’yu‘字符串应该怎么实现呢?
s = 'qwertyuiop'
print(s[5:7])
#python的切片规则,s[start:end]是瞻前不顾后的
find(查找) S.find(substr),返回s中substr这个字符串中第一个元素的索引:
s = "qwertyuiop"
a = "io"
t = s.find(a)
print(t)
split(切片) S.split([sep, [maxsplit]]),以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
s = 'qwer,tyuiop'
s.split(",")
其它的字符串函数,大家可以在交互一下help(str),返回的是字符串所有的函数方法。
help(str)
列表(list)
列表的常用函数:
append(...)
| L.append(object) -> None -- append object to end
| clear(...)
| L.clear() -> None -- remove all items from L
| copy(...)
| L.copy() -> list -- a shallow copy of L
| count(...)
| L.count(value) -> integer -- return number of occurrences of value
| extend(...)
| L.extend(iterable) -> None -- extend list by appending elements from the iterable
| index(...)
| L.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present.
| insert(...)
| L.insert(index, object) -- insert object before index
| pop(...)
| L.pop([index]) -> item -- remove and return item at index (default last).
| Raises IndexError if list is empty or index is out of range.
| remove(...)
| L.remove(value) -> None -- remove first occurrence of value.
| Raises ValueError if the value is not present.
| reverse(...)
| L.reverse() -- reverse *IN PLACE*
| sort(...)
| L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
|
python基础入门一(语法基础)的更多相关文章
- Python爬虫入门有哪些基础知识点
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
- 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
- 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据
070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...
- 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求
069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...
- 068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题——基本数据类型传值
068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博 ...
- 067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数
067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数 本文知识点:数组作为方法参数 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...
随机推荐
- Vuforia图像追踪,动态创建的对象隐藏显示的坑
刚做的一个项目,使用Unity3D的Vuforia插件进行图像识别,其中有动态生成的游戏对象模型,地形模型放在ImageTarget下,作为ImageTarget的子物体. 动态生成的敌人则有Pref ...
- iOS 模仿一个小项目,总结一下里边的模块
ManoBoo: 参考链接:http://www.jianshu.com/p/fd4c46c31508 这个小的项目是参考ManoBoo的简书的,链接在上方,自己在仿做的过程中,也离不开Man ...
- Jquery父页面和子页面的相互操作
//父页面调用子页面Add函数 $("iframe")[0].contentWindow.Add() //父页面对子页面Id为Sava的Dom元素执行一次单击操作 $(" ...
- Zxing库
一.介绍 Zxing是一个开放的源码,用java实现的多种样式的1D/2D条码处理库,它包含了联系到其他语言的端口.Zxing可以实现手机的内置摄像头完成条码的扫描及解码.目前支持:UPC-A ,UP ...
- java面试问题整理-垃圾回收
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址.大小以及使用情况.通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是"可达的" ...
- CACHE COHERENCE AND THE MESI PROTOCOL
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In contemporary multi ...
- 论文笔记(1)——《Where's Wally?Precise User Discovery Attacks in Location Proximity Services》
Abstract: 位置相近服务在社交和移动网络的广泛使用是基于可用性和用户隐私的平衡,但引发了三角定位攻击的风险.文章系统化地讨论了此类攻击的防范,包括问题在不同临近模型下的形式化,针对不同模型的有 ...
- Reveal - UI 分析工具
一.安装和简介 a) download url b) Reveal 使用的方法有两种: Static Library Intefration, Dynamic Library Intefration. ...
- UISprite(NGUI)扩展 图片镂空
NGUI 版本2.6.3 在做新手引导时,需要高亮特定UI元素,也就是加个黑色蒙板,然后在蒙版上显示这个UI元素,为了简单方便我扩展了下UISprite,来镂空指定空间. 分为2种,矩形和圆镂空,矩形 ...
- 60个有用CSS代码片段
1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{ position: re ...