python基础

之前由于水平不足博客写的很不好,现于2019/11/30进行大更改。

python

1.基础
①代码中单引号与双引号效果一样,不像其他语言一样有所区别,但是要成对使用,不能落单。
  
②命名可以用数字,字母,下划线,汉字,不能以数字开头。注意不要和关键字重名。
  
③字符串:每个元素的位置可以正着数,也可以倒着数。正着数从0开始,倒着从-1开始。
字符串访问区间方式:[m,n],访问从m开始到n的字符串内元素(不包括n,左闭右开) m,n可以是正着数的,也可以是倒着数的,还可以混合用。
  
④交换x,y的值:x,y=y,x(比c简单多了)
  
⑤#后面跟的是注释,大程序中注释很重要,便于自己和别人的理解。
  
⑥为了简化避免造成机器误解,Python还允许用 r’ '表示 ’ ’ 内部的字符串默认不转义,可以自己试试:
  (1)输入:>>> print( ’ \\\t\\ ‘)
     输出:\    \
  (2)输入:>>> print ( r ’ \\\t\\’)
     输出:\\\t\\


2.输出 print() 函数,输出的是字符串
⑴可以直接输出,可以输入计算表达式,输出结果。
⑵也可以输出多个字符串,用逗号隔开,输出时逗号变为空格
(3)默认调用结束后输出一个\n,可以加一个end = ’ ',使其不输出换行符。
(3)format函数:

: <填充> <对齐> <宽度> <,> <精度> <类型>
引导符号 用于填充的单个字符 <左对齐,>右对齐,^居中 槽的设定输出宽度 数字的千位分隔符适用于整数和浮点数 浮点数小数部分的精度或字符串的最大输出长度 整数类型b,c,d,o,x,X浮点数类型e,E,%f

例:"{}:计算机{}的CPU占用率为{}%。".format(“2016-131”,“PYTHON”,“10”)
也可以在大括号里加数字,可以改变参数要填入的位置。


3.输入 input()
①直接输入:input(),不论输入什么,python都会自动将其转换为字符串,需要根据实际需要再转换类型。
  
②input(‘please input:’) 虽然是输入函数但是屏幕上还是可以显示please input: 显示的东西要用引号括起来


数据类型

1.整数:顾名思义,包括正整数、负整数
浮点数:小数或用科学计数法表示的数
字符串: str ‘字符串’

2.除法:a/b,得结果为浮点数,即使能整除,结果也是浮点数。
a//b(地板除),结果为整数,不四舍五入,只取整数部分

3.’%‘求余,返回值为余数。

4.与运算and
或运算or
非运算not


ps:Python中的空值用none表示,但none不等于0,0是有意义的,none就是一个特殊的空值


字符串

str()(此函数可以将其它类型的东西,转化为字符串)
1.ord()函数用于获取字符的阿斯克码
chr()是将阿斯克码变为对应的字符

2.len()计算字符串长度
补充:

.title() #首字母变为大写,其它部位字母小写
.upper() #全部转换为大写
.loewr() #全部转换为小写

3.合并字符串的话,直接用+连接两个字符串就好。

4.字符串的复制:a = b,此时a和b是指向同一个地址的,改变a的值,b也会变。
a = b [ : ],此时a和b互不相同,分别指向两个地址。

5.输出时删除字符串尾内的空白:.rstrip()
输出时删除头部空白:.lstrip()
输出时删除全部空白:.strip()

格式化:

%d   整数
%f  浮点数
%s  字符串
%x  十六进制


列表

1. list[]中还可以嵌套list[]构成二维数组

2.ord()函数用于获取字符的阿斯克码
chr()是将阿斯克码变为对应的字符(与字符串一样)

3.可以使用list()函数将元组或字符串转化为列表。

4.用for循环对列表进行遍历(输出各个元素值)
倒着输出列表:a.reverse(){用a[ : : -1]也可}

5.如果将列表传入函数的话,相当于传入了地址,函数内对列表的改变是永久性的。
要想不改变列表内的值,可以传入列表的副本:list [ : ] , 但是呢会占用时间,所以说能不这样尽量别这样。

6.增:

追加元素到末尾:列表名.append(’ '),直接加*到列表末尾
追加元素到任意位置:列表名.insert(1, ’ ')插取与一号元素位置

删:

删除末尾元素:列表名.pop( )删除列表最后一个元素。
删除指定位置的元素:列表名.pop(1)删除一号元素
pop删除后,会将删除的值返回,可以用一个变量接收删除的值,供接下来使用
列表名.remove(’ '),删除括号内的元素,如果列表内有多个这个元素,则删除第一个。

改:

直接赋值给索引位置
列表名[2]=‘lcy’ ,将列表中二号元素换为lcy

排序:

a.sort(),对列表进行永久的排序(从小到大)(括号内写入True,则按从大到小排序)
sorted(a),临时排序,不改变a本来的结构。此函数不仅仅适用于列表。


元组

tuple()
与列表类似,但是初始化后不能更改
正是应为其不能更改,所以说安全性非常可靠,比list()安全。
  1.有时需要定义只有一个元素的tuple(),例t=(1),这是不正确的,会产生歧义,改:t=(1,)。

.  2.虽然说元组中的元素不可变,但是元组中也可以包含列表,列表可变,于是说,元组也可以近似看为可变。

3.正是应为元组不可变,所以说是简单的一种数据结构,在创建那些数值不会变的元素时,可以用元组。减少其对内存的占用。



三大结构

顺序结构
无知识点,前面已经提过
break语句:跳出循环
continue语句:结束此次循环,开始下次循环


判断结构

age=3
if age>=18:
	print('your age is:',age)
	print('adult')
else:
	print('your age is',age)
	print('teenager')

注意了:不要忘写冒号

ps:elif=else if,且elif语句后也要加冒号

1.inpute()【输入函数】输入的返回值是字符串,有时候需要换数据类型,

2.关键字in:判断一个字符(串),是否在字符串或者列表内,同理not in作用相反。

a = 'abcdef'
b='ab'
print(b in a)
>>>True
a = ['asd','qwe','zxc']
b = 'asd'
print(b in a)
>>>True

3.空列表,空字符代表false


循环结构

for循环
代码:(for…in…)注意缩进

sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
  sum=sum+x
print(sum)

for i in …
in后面的可以是range()函数,也可以是一个字符串,列表,字典…等各种东西,此时 i 代表 in 后面的各个元素
while循环(不达到结果可以无限循环)

#求1~100内的奇数的和
  sum=0
  n=99
  while n>0:
     sum=sum+n
     n=n-2
  print(sum)
#删除列表内特定的元素
	pets = [ 'dog' , 'cat' , 'goldfish' , 'cat' , 'rabbit' , 'cat' ]
	print(pits)
	while 'cat' in pets:
		pet.remove('cat')
	print(pits)

字典

dict ,key-value)存储就像查询成绩一样,名字对应成绩

sduent = { ‘lu’:20 , ‘lc’:30 , ‘ly’:40 }

1.增:

stuent[‘lk’] = 0

2.删:

del sduent[‘lu’] #删除字典内的这个键值对。
sduent.pop(‘lu’) #与列表删除类似,返回值为该键对应的值。

3.改:

sduent[‘lc’] = 100

4.查:

sduent[‘ly’]

5.字典内的元素是没有顺序的

6.创建空字典:

a= { }

7.遍历字典:

#输出字典所有信息:
for k , v in sduent.items():
	print('键为:' + k)
	print('值为:' + v)

#仅输出键
for k in sduent.keys():
	print('键为:' + k)

#仅输出值
for v in sduent.values():
	print('值为:' + v)

8.嵌套:仅仅一个字典结果能办的事情有点少,使用嵌套的话就会强大很多:
(1).将字典名存到一个列表内,构成字典列表。
(2).字典内嵌套列表,即字典内的值可以用一个列表代替,增大储存元素。
(3).字典内储存字典:类似于二维数组,内层的字典名当键,字典内容当值


集合类型

set 
  set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。即使有,也不会被输出。set中只能存储固定数据类型,不能有可变数据类型。
1.set中的元素都是无序的,每次输出的顺序可能都不一样。
2.add()增加元素
3.remove()除去元素

set函数可用于生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且排序任意的集合

w=set(“apple”)
{‘e’,‘p’,‘a’,‘l’}

V=set((“cat”,“dog”,“tiger”,“human”))
{‘cat’, ‘dog’, ‘tiger’, ‘human’}

posted @ 2018-12-15 17:29  lcyok  阅读(201)  评论(0)    收藏  举报