Python初体验

算术

x除以y:x/y

取x除以y商的整数:x//y  (小数位直接丢掉)

取x除以y的余数:x%y

x的y次方:x**y  和  pow(x,y)

导入模块的两种方法:1、import math  和 2、from math import *

相同之处在于:都可以通过math.sqrt()的形式调用,math模块中的函数

不同之处在于 :

  1. 通过方法1导入,调用函数式的形式只能是:math.sqrt()。方法1的一个这种的方法是给模块起个简单的名字:import math as m,这样下次使用到math模块中的函数时,就可以这样使用:m.sqry()。是不是简单了很多呢。
  2. 通过方法2导入,调用函数式的形式还可以是:sqrt()。调用的时候就比较简单了,直接写成sqrt()就可以了。方法2的调用形式虽然不要再加模块名这个前缀了,但是弊端不小。如果程序中的存在与模块同名的函数,那么就会被模块中的函数覆盖掉。一个折中的方法就是:通过:from math import sqrt,只导入模块中使用到的且不与程序中的函数重名的函数。

字符串 

字符串的三种表示方法:1、单引号'abc' 2、双引号"abc" 3、三引号"""abc"""

  1. 如果字符串中有单引号的时候,就用双引号包起来;
  2. 如果字符串中有双引号的时候,就用单引号包起来;
  3. 如果字符串有多行的时候,就用三引号包起来。
"I'm a boy"   

'She said:"Yes!"'

"""
Me and my monky
Have something to hide
"""

字符串的长度:len('字符串')

字符串的拼接:'字符串A'+'字符串B'

字符串的重复:'字符串'*重复次数

神奇的使用:'ha'*3+2*'!'='hahaha!!'

len('ha'*3+2*'!')=8

(len('ha'*3+2*'!')-6)*'boy'='boyboy'

列出模块中的所有函数:dir(模块名)

类型转换

转换成整数:

int(x)--x为浮点数的话,直接将小数删除;x为字符串的话,转化成相应的整数。注意:此时字符串x,必须是整形的;否则报错

round(x)--将浮点数x的小数部分为.5的数字圆整到最接近的偶数;其他四舍五入

>>> int(8.6)
8
>>> round(8.6)
9
>>> round(8.5)
8
>>> round(8.4)
8
>>> round(7.6)
8
>>> round(7.5)
8
>>> round(7.4)
7

转换成浮点数:

float(x)--x为整数的话,直接在后面加0;x为字符串的话,转化成相应的浮点数。

转换成字符串:

str()-居然还可以把字符串转化成字符串

>>> str('8.6')
'8.6'
>>> str(8.6)
'8.6'
>>> str(-8.6)
'-8.6'

将字符串转化成数字:

使用int()的话字符串表示的必须是整数;float()使将字符串表示的数,表示成浮点数,对字符串没有特别的要求

>>> int('8')
8
>>> int('8.5')
ValueError: invalid literal for int() with base 10: '8.5'
>>> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
>>> float('8')
8.0
>>> float('8.5')
8.5

多重赋值:

>>> x,y,z=1,2.0,'three'
>>> x
1
>>> y
2.0
>>> z
'three'

#多重赋值用来交换变量的值,特别的好用,另:这里发生了一次隐形的数据转换
>>> x,y=y,x
>>> x
2.0
>>> y
1

从键盘读入 和 在屏幕上输出

>>> age=input("age=")
age=10    #这个10,是你从屏幕输入的,所以没有引号
>>>age
'10'
#字符串转化成整数
>>> age10=int(age)

>>> print("age=",age)
age= 10
>>> print("age="+age)
age=10  #注意,等号后面少了一个空格

>>> print("age=",age10)
age= 10
>>> print("age="+age10)#拼接只能是字符串之间的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly

输出的骚操作

>>> print('one','two','three',sep='*',end='10')
one*two*three10>>> 

sep修改输出的间隔符,默认的是'  '——空格;end修改结尾,默认的是'\n'——换行

C语言中有个三目运算符

“(a>b)?a:b”是一个条件表达式,如果(a>b)条件为真,则条件表达式去值a,否则取值b。

一般形式:表达式1?表达式2:表达式3,它是C语言中唯一的一个三目运算符。

执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值作为整个条件表达式的值。若表达式1的值为0,则求解表达式33,表达式3的值作为整个条件表达式的值.

Python中当然也有对应的骚操作,是通过if来实现的,名为:条件表达式

food=input('What do you like?')
reply='delicious' if food=='apple' else 'stupid'
print(reply)
#尽量不要使用这个操作,会影响程序的可读性

循环:

range([start, ]stop[, step])

Return an object that produces a sequence of integers from start (inclusive)  to stop (exclusive) by step.

>>> a=range(10)
>>> list(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]#包含开头,不含结尾

>>> a=range(0,100,10)
>>> list(a)
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

>>> a=range(1,100,10)
>>> list(a)
[1, 11, 21, 31, 41, 51, 61, 71, 81, 91]

>>> for i in range(1,100,30):
...     print(i)
... 
1
31
61
91

跳出循环:

break是跳出本层循环;continue是结束下面的操作,直接开启下一次循环

原则是尽量少使用甚至不使用 break 和 continue 

函数:

定义函数

#area.py
import math
def area(r):
    """Returns the area of a circle with the given radius.
    For example:
        >>>area(5.5)
        95.033177771.91246
    """
    return math.pi*r**2

查看函数area的注释信息

>>> print(area.__doc__)
Returns the area of a circle with the given radius.
    For example:
        >>>area(5.5)
        95.033177771.91246

首次赋值发生在函数内部的变量,就称为局部变量,so在函数外面,是不能访问函数内的局部变量的;与局部变量相对的,就是在函数外面声明的变量--全局变量,在程序的任何地方都可以访问,但是需要特别的声明一下:global 全局变量,如此这般才可以使用;否则就会创建一个新的与全局变量同名的局部变量,与预期的效果相差甚远。

函数参数的默认值:

def greet(name,hello='Hello'):
    print(hello,name+'!')

注意:默认值的变量不能在没有默认值的变量的前面

关键字参数:

>>> greet('Lisa')#我是第一行
Hello Lisa!

>>> greet('Good','Lisa')#我是第二行
Lisa Good!

>>> greet(hello='Good',name='Lisa')#我是第三行,请注意:这里形参的排序与函数定义时不同
Good Lisa!
  1. 第一行,可以看出默认值的用法;
  2. 第二行,是常规的使用,就是按形参定义的顺序,实参与形参一一对应;
  3. 第三行,可以看出,关键字参数的使用,这时候就不用关心形参的顺序了。

 字符串的处理

s\Rightarrow \begin{matrix} 0 &1 & 2& 3 & 4 \\ a & p& p& l& e\\ -5 & -4& -3& -2& -1 \end{matrix}

正负数索引

>>> s='apple'
>>> s[0]
'a'
>>> s[-1]
'e'

切片:提取字符串的子串——string[begin : end]

begin=第一个字符的索引;end=最后一个字符的索引+1

>>> s[1:4]
'ppl'
>>> s[-4:-2]
'pp'
#特殊的
>>> s[1:2]
'p'
>>> s[1]
'p'

顺便一提:range在只有一个参数的情况下,默认的是这个参数是end

>>> list(range(5))
[0, 1, 2, 3, 4]

不过range的原型是:range([start, ]stop[, step]),是使用逗号隔开的

切片的妙用:

>>> s[:3]
'app'
>>> s[2:]
'ple'
>>> s[:]
'apple'

使用for循环访问字符串中的字符

>>> for i in s:
...     i
... 
'a'
'p'
'p'
'l'
'e'

函数ord()——获取字符对应的Unicode编码

函数chr()——获取Unicode编码对应的字符

>>> ord('a')
97
>>> ord('中')
20013
>>> chr(97)
'a'
>>> chr(20013)
'中'

字符串处理函数

太多了,就另起一个炉灶,参见:https://blog.csdn.net/qq_35629563/article/details/84304770

正则表达式

正则表达式是一种简练描绘一组字符串的方式,可用于高效的执行常见的字符串处理任务,如匹配、分拆和替换。

正则表达式运算符
运算符描述的字符串
xy?x、xy(表示左边的字符可选)
x|y

x、y(或者)

x*''、x、xx、xxx、xxxx等(x*0、1、2...)
x+x、xx、xxx、xxxx等(x+0、1、2...)
()表示运算符的作用域,像'(ha)+'可以表示‘ha’、'haha'等

type函数:检查值或变量的数据类型

Python中有三种序列:字符串、元组和列表,他们的性质,如果你熟悉了字符串的话,就知道了其他两个的性质。像正负索引、切片、拼接、函数len、in
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值