python字符串⽐较⼤⼩的规则_圆⽅圆python⼊门基础⼊门⼀
(语法基础)
学习编程语⾔是很有趣的⼀件事情,但有2点请⼀定要谨记:1.做⼈靠⾃⼰,码代码也必须靠⾃⼰。能不能成为python⼤⽜,靠的是平时逻辑的训练和⽇复⼀⽇的码代码练出来的;2.多总结、多思考、多查阅。实现需求的⽅式有多种,但总会有另⼀个办法是更加⾼效的!
博⽂内容属于基础篇,实时更新,如有地⽅写的不好,还请⼤家批评指正!
python新手入门基础语法⼤⼈不华,君⼦务实!
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
除此之外,变量可以是其它的任意数据类型,如字符串、布尔、浮点数,甚⾄是函数。也可以实现变量之间的赋值。
= 3 b = True c = b b = a print(a,b,c) ___________________________________________________________ 3 3 True
4、python字符编码
字符串也是⼀种数据类型,但是,字符串⽐较特殊的是还有⼀个编码问题。由于计算机是美国⼈发明的,因此,最早只有127个字母被编码到计算机⾥,也就是⼤⼩写英⽂字母、数字和⼀些符号,这个编码表被称为"ASCII"编码,⽐如⼤写字母A的编码是65,⼩写字母z的编码是122。
但是要处理中⽂显然⼀个字节是不够的,⾄少需要两个字节,⽽且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,⽤来把中⽂编进去。可是世界除了英语和中⽂之外,还有很多语⾔。因此,U
nicode应运⽽⽣。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* | ```
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论